2010-08-22 12 views
6

Parfois je dois retourner à une branche vraiment vieille quand j'ai dépendu d'une tonne de bibliothèques externes. La mise à jour de la branche actuelle supprime les fichiers source de ces dépendances, mais les artefacts sont conservés, ainsi que quelques dossiers et autres.Existe-t-il un moyen facile d'effacer un référentiel d'artefacts?

Je voudrais avoir un moyen de forcer un repo mercurial à être comme si je venais de le cloner à partir du dépôt distant (maître). Je ne veux pas juste nuke mon repo et le recloner, parce que cela me force à télécharger des centaines de Mo du serveur distant. Pourquoi ne pas cloner non pas à partir du serveur distant, mais à partir de votre référentiel local?

Répondre

3

Vous pouvez utiliser le purge extension, ou si vous êtes sur un système de type UNIX: hg st -nu0 | xargs -0 rm.

+0

+1 et coche la solution la plus simple. –

4

Après cela, vous pouvez nuke votre repo avec de vieux fichiers non suivis.

hg clone path_to_your_local_repo your_new_repo 

Après cela, vous pouvez mapper votre nouveau repo à votre serveur distant dans hgrc fichier

+0

+1 pour la solution la plus intelligente. –