3 votes

Fixer le Repo HgSubversion après un Rebase sans --svn

J'utilise joyeusement HgSubversion depuis un certain temps et aujourd'hui j'ai oublié d'ajouter l'option --svn à la commande rebase. Maintenant, j'obtiens la redoutable révision inconnue " ".

Y a-t-il un moyen de s'en remettre ?

5voto

durin42 Points 1230

Vous devriez pouvoir faire "hg svn rebuildmeta" et ensuite "hg pull" pour que cela répare les choses.

Note : ceci n'est pas testé, donc je travaillerais sur un duplicata du dépôt local au cas où il y aurait des problèmes. Ma mémoire du code suggère que cela fonctionnera.

1voto

Steve Kaye Points 4255

J'essaierais d'utiliser le transplant pour résoudre ce problème :

  1. Re-clonez le référentiel SVN vers un nouveau référentiel local.
  2. Examinez l'historique du référentiel d'origine et notez les modifications à déplacer.
  3. Transplanter les changements de l'ancien référentiel vers le nouveau référentiel.

Par exemple, la réparation d'un hgsubversion repo appelé project :

> hg clone svn+http://svnrepo/project project-tmp

Ensuite, examinez le journal de votre dossier de projet original et faites ce qui suit à partir de l'onglet project-tmp dossier :

> hg transplant -s ../project 1234

1234 est la révision que vous voulez déplacer. Répétez cette opération jusqu'à ce que toutes vos révisions soient copiées.

Quand vous aurez terminé, vous devriez pouvoir commencer à utiliser le nouveau dossier à la place de l'ancien en le repoussant du SVN, en rebasant vos changements et en les repoussant (n'oubliez pas --svn).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X