J'essaye de ne valider que certains fichiers avec Mercurial. En raison de l'ajout automatique de hg chaque fois que j'essaie de valider un changement, il souhaite valider tous les fichiers. Mais je ne veux pas de ça car certains fichiers ne sont pas encore "prêts".
Il y a
hg commit -I thefile.foo
mais ce n'est que pour un fichier. La meilleure façon pour moi serait de désactiver l'ajout automatique comme dans Git. Est-ce possible?
version-control
mercurial
commit
Praveen Kumar Purushothaman
la source
la source
hg ci foo bar baz
Réponses:
Vous pouvez spécifier les fichiers sur la ligne de commande, comme l'écrit tonfa:
Cela fonctionne et c'est ce que je fais tout le temps. Vous pouvez également utiliser l'
--include
indicateur que vous avez trouvé, et vous pouvez l'utiliser plusieurs fois comme ceci:Vous pouvez même utiliser un ensemble de fichiers pour sélectionner les fichiers que vous souhaitez engager:
Il n'y a aucun paramètre qui désactivera le comportement d'ajout automatique et fera fonctionner Mercurial comme le fait Git. Cependant, l' extension mq pourrait être intéressante. C'est une extension avancée, mais elle vous permet de
Je n'utilise pas vraiment MQ à cette fin moi-même, car je pense qu'il suffit de spécifier les noms de fichiers sur la ligne de commande.
la source
Si vous souhaitez valider quelques fichiers et en exclure de nombreux autres, répertoriez explicitement les fichiers que vous souhaitez valider.
-I
n'est nécessaire que si vous souhaitez utiliser des modèles au lieu de fichiers.Si vous souhaitez valider de nombreux fichiers et exclure seulement quelques fichiers, l'utilisation
-X
est plus pratique.Par exemple, étant donné un référentiel contenant "file_1", "file_2" et "file_3", les éléments suivants sont équivalents, mais ce dernier est plus facile / plus rapide à taper:
la source
À partir de la version 3.8, vous pouvez également utiliser
hg commit --interactive
pour sélectionner les fichiers (avant la version 3.8, vous pouvez utiliser l' extension crecord pour des fonctionnalités similaires). L' indicateur--interactive
(ou juste-i
) amènera hg à vous demander les fichiers que vous souhaitez inclure dans le commit. En prime, vous pouvez même inclure / exclure des morceaux dans les fichiers.Voici un exemple de ce à quoi ressemble l'interface. Notez que c'est une vieille capture d'écran (de crecord en fait) donc l'interface a légèrement changé (mais les bases sont les mêmes).
Remarque pour obtenir cette interface, vous devez activer l'interface curses. Vous pouvez le faire pour une seule exécution avec
hg commit --config ui.interface=curses --interactive
ou généralement en ajoutant les éléments suivants à votre.hgrc
:la source