J'ai un grand correctif MQ appliqué dans Mercurial. Ce qui est arrivé est que j'ai fait qrefresh et inclus des fichiers dans mon patch que je ne veux pas inclure. Est-il possible de supprimer les modifications apportées à ce fichier à partir de mon correctif sans le modifier manuellement? Dans ce cas, si je travaillais sans MQ, tout ce que je devrais faire est de revenir à hg.Suppression d'un fichier de Mercurial MQ Patch
34
A
Répondre
46
Avec le patch appliqué:
hg qrefresh -X [file1] -X [file2] ... -X [fileN]
retirerons fichier1 fileN du patch. Après avoir terminé cela, tapez hg status
pour vérifier que les fichiers sont maintenant marqués comme modifiés, et ne font donc plus partie du correctif.
2
Je pense que vous pouvez utiliser faire du patch le patch actuel (appliqué et en haut de la pile) puis hg forget
et hg qrefresh
.
Et bien sûr hg forget
est juste hg remove
sans nécessiter d'options supplémentaires pour éviter la suppression de fichiers.
0
La façon la plus simple de faire ceci est de faire hg qrefresh
avec tous les fichiers sauf celui que vous voulez supprimer - cela enlèvera les changements du patch sans les rejeter.
Le commutateur '-X' doit précéder chaque nom de fichier. Donc, pour enlever foo et bar, utilisez 'hg qrefresh -X foo -X bar'. – nmichaels
Si vous souhaitez supprimer tous les fichiers du correctif, au lieu de supprimer chaque fichier, vous pouvez exécuter 'hg qrefresh -X '*''. Vous devez entourer le caractère '*' avec '' 'pour empêcher le shell d'interpréter avant le mercurial. –