2010-11-23 29 views
12

J'ai un fichier de configuration que je modifie souvent afin de faire quelques tests. Environ 95% du temps je modifie ce fichier, je ne souhaite pas m'engager dans le repo. C'est une nuisance de toujours être à l'affût pendant les commits.Est-ce que quelqu'un a eu du succès avec "Auto Exclude List" de TortoiseHg?

J'ai découvert cette fonctionnalité supposée géniale dans TortoiseHg appelée "Auto Exclude List" qui est censée prendre une liste de fichiers séparés par des virgules que vous voulez par défaut décochée (sur commits, revêts, étagères). Cela ressemblait à un moyen parfait, non hackish pour rendre ma vie plus simple.

Le problème est que je n'arrive pas à faire quoi que ce soit. J'utilise le nom de fichier (avec/sans chemin), glob: nom de fichier, guillemets, virgule finale, etc - le tout sans aucune chance. Je trouve peu d'informations sur cette fonctionnalité en ligne (rien que l'interface utilisateur TortoiseHg ne me dit déjà).

Pour votre information: TortoiseHg (version 1.1) avec Mercurial-1.6, Python-2.6.4, PyGTK-2.16.0, GTK-2.16.6

Toutes les suggestions, ou le succès avec cette fonctionnalité?

+0

Avoir le même problème avec TortoiseHg 2.0.5, Mercurial 1.8.4, Python 2.6.6 – Restuta

+0

il y a un vieux rapport de bug à ce sujet https://bitbucket.org/tortoisehg/thg/issue/565/auto-exclude -list –

Répondre

1

Avez-vous essayé d'utiliser un fichier .hgignore avec votre référentiel Mercurial?

Pour ce faire, créez un fichier en racine de votre référentiel Mercurial appelé .hgignore et suivez la syntaxe indiquée dans le lien ci-dessus. Notez que vous aurez besoin de hg add et hg commit ce fichier dans votre dépôt avant qu'il ne commence à ignorer les fichiers que vous avez spécifiés.

Par exemple, si vous voulez exclure tous les * .txt et * .o d'être considéré pour commits, un exemple d'un fichier .hgignore peut-être:

syntax: glob 
*.txt 
*.o 
+0

J'ai déjà un fichier .hgignore, mais je préfère voir que ce fichier a été modifié car il a parfois besoin de modifications validées. – Joel

+0

.hgignore ne pas ignorer les fichiers, qui sont déjà suivis –

5

C'est certainement la fonction que vous voulez . J'ai lutté avec la solution de fichier modèle pour le même problème pour ce qui semblait être une éternité dans Subversion, donc j'étais très heureux de découvrir la fonctionnalité d'exclusion dans TortoiseHg.

Cela fonctionne vraiment pour moi. Une chose importante est de comprendre quel effet cela a. Si l'un des éléments exclus est modifié, il apparaît toujours dans la boîte de dialogue de livraison. La seule différence est que, contrairement aux autres fichiers modifiés, il ne sera pas automatiquement coché dans la boîte de dialogue. Du point de vue de la convivialité, c'est bien parce que vous n'avez pas à penser consciemment à éviter les changements gênants (que j'appelle «bruit»). Vous vous contentez de valider comme d'habitude et les modifications apportées à ces fichiers peuvent s'accumuler, mais ils n'entrent pas dans le commit afin qu'ils ne distraient pas du vrai travail dans le changeset. Cela signifie également que vous pouvez pousser vers d'autres dépôts sans être «ce gars-là». Cependant, vous ne pouvez toujours pas tirer et mettre à jour avec des modifications non validées dans votre copie de travail, vous devez donc valider ou rétablir ces fichiers périodiquement.

Vous devez également être à l'affût des modifications apportées à ces fichiers que vous voulez réellement valider . Si vous avez l'habitude de revenir sur ces fichiers, vous risquez de vous réveiller brutalement lorsque vous effacez accidentellement votre travail acharné sur l'un d'entre eux.

La spécification des noms de fichiers va dans le fichier .hg\hgrc sous la section [tortoisehg]. (Mise à jour): Les spécifications du fichier sont relatives à la racine du dépôt et sont les noms de fichiers individuels explicites, séparés par des virgules. Aucun globbing n'est autorisé.

mine ressemble à ceci:

[tortoisehg] 
ciexclude = msi.sql,Service\AssemblyInfo.vb,SetupInitialize\AssemblyInfo.vb 

fonctionne comme un charme pour moi.

+0

A noter que les caractères génériques ne semblent pas fonctionner, et \ not/dans les noms de fichiers (au moins sous Windows). A travaillé pour moi dans TortoiseHg 1.1.6.1. –

+0

Je peux le faire fonctionner dans Tortoisehg 2.0 et vous? – Restuta

+0

ne fonctionne pas ici – prime23