2010-04-01 2 views
5

Est-il possible de update un répertoire à une révision spécifique sans cloner l'ensemble du dépôt (local ou sur un serveur central) dans Mercurial et comment puis-je l'utiliser? Ce serait génial, car à clone tout le repo prend d'abord beaucoup de temps pour moi et le dossier n'a vraiment pas besoin de tout le repo. Par exemple: par défaut et la branche b2.3 à partir de laquelle je veux mettre à jour.HG: Mettre à jour un répertoire à une révision spécifique sans cloner tout le repo?

Merci d'avance! :)

+2

Peut-être avez-vous combiné des projets indépendants dans un seul référentiel? C'est une pratique courante avec Subversion, mais les systèmes de contrôle de révision distribués sont différents. En outre, ce que vous demandez vraiment, c'est comment faire un clone "étroit" ou "partiel", un concept que nous ne soutenons pas encore. Il ya une page wiki ici: http://mercurial.selenic.com/wiki/PartialClone –

+1

oui, nous sommes passés de svn à hg :) maybie nous devrions juste diviser les projets en référentiels, mais ils ont des dépendances les uns par rapport aux autres. parce qu'un clone normal est le temps et la taille? -consumant et le repo est déjà local (pourquoi l'avoir à deux endroits) un clone partical [par ex. hg clone -p ou --partial] serait peut-être génial (ou s'il y a une solution de contournement facile pour l'obtenir rapidement et avec l'historique des versions) – Joschua

Répondre

7

Vous pouvez extraire une branche spécifique, par exemple b2.3 en utilisant hg clone -r b2.3 source-repo target-repo.

Si vous n'avez vraiment besoin que d'une copie non-versionnée de tous les fichiers de la révision N, vous pouvez télécharger une copie de ce type en utilisant leur interface web pour certains référentiels Web.

1

clone est le moyen préféré de le faire dans Mercurial. Cela devrait prendre un minimum de temps quand c'est fait localement. Je ne connais pas d'autre moyen de le faire.

Rechercher "liens durs" sur this tutorial page pour plus d'informations sur le sujet.

+0

non ici cela prend beaucoup de temps – Joschua

+0

@Joschua: souvenez-vous que vous avez seulement besoin de faire clone complet une fois. Lorsque vous avez tout l'historique sur votre machine, alors vous pouvez faire 'hg clone -r b2.3 foo bar' pour faire un clone rapide avec seulement une partie de l'historique. Le point clé est que vous n'avez pas besoin de contacter à nouveau le serveur pour les changesets que vous avez déjà localement. –

Questions connexes