7
votes

Utilisation de HG Revenir pour revenir à un groupe de fichiers dans Mercurial

J'utilise Mercurial pour lire et déboguer un projet complexe et ma modification du projet peut être divisée en différents groupes de fichiers clairement. Par exemple, si j'ai modifié quatre fichiers xxx

Il est évident que je peux les diviser en deux groupes de fichiers tels que le groupe src1 inclut src1.cc SRC1. HH et groupe SRC2 inclut src2.cc src2.hh .

Je me demande si je peux revenir un groupe de fichiers par une simple commande comme "HG Revert Nom-nom-alias 'au lieu de répertorier tout le nom de fichier du groupe, qui est une idée horrible si j'ai modifié de nombreux fichiers?

Toute aide vraiment appréciée!


1 commentaires

Voir Stackoverflow.com/questions/5906629/...


3 Réponses :


4
votes

non. Au meilleur de ma connaissance, Mercurial n'a aucun mécanisme de regroupement de fichiers.

Vous pouvez faire du fileter avec des alias ( [alias] rever-group-name = revert src2.cc src2.hh dans ~ / .hgrc ), mais des alias ne peut être que des préfixes et ne peuvent pas effectuer des extensions variables.

Si vos fichiers sont assez simples, vous pouvez utiliser Shell Globbing ( HG Revert SRC2 * ) ou une variable de coquille ( group_name = "src2.cc SRC2.hh" , alors hg revert $ GROUP_NAME ).

Vous pouvez également envisager d'écrire une petite extension mercuriale. Si vous connaissez Python, ils ne prennent pas très longtemps (mon premier m'a pris environ 30 minutes).


0 commentaires

5
votes

De ce que je peux comprendre de votre cas d'utilisation, vous pouvez:

  1. Utilisez des motifs dans la commande hg revert . Cela signifie que vous pouvez Exécuter hg revert src1 * pour revenir tout le premier groupe.

    Très probablement, cependant, votre truc est dans les sous-dossiers et heureusement Vous pouvez spécifier un dossier parent dans la commande revenir .

    Donc, disent que vos fichiers sont vraiment comme: foo / src1.cc , foo / src1.hh , bar / src2.cc , bar / src2.hh . Dans ce cas, vous pouvez revenir tous les Deuxième groupe avec HG Revert Bar , en supposant que vous êtes dans le dossier supérieur. Si vous êtes déjà dans le dossier , vous pouvez exécuter hg revenir. .

    Vous pouvez spécifier plusieurs modèles.

  2. Utilisez files d'attente mercuriales Si chacun de vos "groupes de fichiers" est également une unité de travail différente (une solution ou une fonctionnalité de bogue différente). Ce n'est pas si souhaitable si tous les fichiers appartiennent à la même unité de travail, cependant.


0 commentaires

2
votes

Si les noms de fichiers répondent aux modèles, vous pouvez utiliser ce motif: xxx

ou xxx

si ces fichiers sont dans un répertoire spécifique , vous pouvez faire ceci: xxx

si le répertoire est plus d'un niveau de profondeur et que vous souhaitez obtenir ce répertoire et tous ses sous-répertoires, vous pouvez utiliser cette version de cette chaîne. : xxx


0 commentaires