2008-09-23 11 views
1

J'ai un référentiel mercurial local avec des modifications spécifiques au site. Qu'est-ce que je voudrais faire est de définir un couple de fichiers à être non commutable afin qu'ils ne sont pas automatiquement commis lorsque je fais un hg commit sans arguments.Utilisation de mq de mercurial pour gérer les modifications locales

En ce moment, je fais des choses compliquées avec mq et des gardes pour y parvenir, en poussant et en sautant et en sélectionnant des gardes pour empêcher que mes changements (qui sont vérifiés dans un patch mq) soient commis.

Existe-t-il un moyen plus simple de le faire? Je suis malade de lire l'aide pour toutes les commandes mq chaque fois que je veux commettre une modification qui n'inclut pas mes changements spécifiques au site.

Répondre

1

Je sais que bazaar a des commandes shelve et unshelve pour pousser et pop les modifications que vous ne voulez pas inclure dans un commit. Je pense qu'il est très probable que Mercurial ait des commandes similaires.

+0

Merci! C'est exactement ce dont j'avais besoin. Voici un lien vers l'extension: http://www.selenic.com/mercurial/wiki/index.cgi/ShelveExtension –

2

Je mettrais ces fichiers dans .hgignore et de valider un "exemple" de ces fichiers afin qu'ils puissent être facilement recréés pour un nouveau site lorsque quelqu'un extrait votre code.

+0

Je pense que cela ne fonctionnerait que si j'avais le contrôle du référentiel en amont. Cependant, les ajouter à .hgignore pourrait quand même fonctionner ... Ce n'est quand même pas idéal. Peut-être que la réponse est de simplement avoir des scripts qui corrigent et corrigent les fichiers en question. –

0

Je suis curieux de savoir pourquoi vous ne pouvez pas faire vérifier un autre référentiel avec ces changements spécifiques, puis de le transplanter/tirer/corriger quand vous avez besoin de mettre à jour des choses. Ensuite, vous travailleriez principalement à partir du repo original, et ce n'est pas comme si vous gaspilliez de l'espace puisque hg utilise des liens. J'ai souvent deux + versions vérifiées afin que je puisse travailler sur un certain nombre de mises à jour, puis les fusionner ensemble.