J'ai un référentiel local mercurial avec 5 validations qui doivent encore être poussées vers le serveur. Cependant, j'ai accidentellement inclus une ligne dans deux fichiers spécifiques depuis les 4 dernières validations que je ne veux vraiment pas avoir dedans (ni dans l'un des changesets).Mercurial: comment supprimer une ligne dans un fichier, pour les 4 derniers changesets (pas encore poussés)?
Existe-t-il un moyen pratique de supprimer ces lignes dans ces deux fichiers? (en dehors de jeter mon référentiel local, cloner la copie du serveur, et réappliquer manuellement toutes les modifications à nouveau)
Bien expliqué! Une question: la ligne apparaît en effet une fois, mais elle est précédée d'un '+', et l'ancienne (bonne) ligne est précédée d'un '-' pour indiquer le diff. Est-ce que je supprime vraiment la ligne '+' et laisse la ligne '-' en place. Ou est-ce que je supprime les lignes '+' et '-'? (Bien sûr, alternativement, je pourrais simplement changer la ligne '+' en quelque chose dont je ne me soucie pas) – Rabarberski
Il s'est avéré que certains fichiers bitmap (.ico) qui sont inclus dans le repo n'ont pas été copiés dans le changeset fichier correctif (qui semblait logique, avec le recul, puisqu'il s'agit seulement d'un fichier texte). Mais je n'étais pas sûr de pouvoir faire confiance à tous mes autres fichiers. Par conséquent, je me suis tourné vers le clonage du repo de la révision correcte vers un nouveau repo (en utilisant 'hg clone -r 14 repo repo-new') et j'ai réappliqué les changements manuellement. Pourtant, votre explication était très claire, et m'a donné une meilleure compréhension de mercurial. – Rabarberski
Ça sonne bien. Je pense que les binaires (et les autorisations de fichiers) auraient été inclus si j'avais pensé à ajouter '--git' à l'export, que je vais insérer ci-dessus. Beaucoup d'entre nous ont [diff] \ ngit = true dans nos fichiers ~/.hgrc ce qui rend cela automatique, et j'oublie que ce n'est pas le comportement par défaut. –