2009-09-02 5 views
4

J'ai deux dépôts non apparentés « public » et « développer »:pointe de fusion à partir d'un référentiel sans rapport avec Mercurial

prj/ 
    public/ 
    develop/ 

« développer » a beaucoup de commits, parce que c'est là que je travaille. Peut-être même plusieurs têtes De temps en temps je veux publier un instantané du dépôt de développement.

du dossier public que je pouvais faire ceci:

>hg pull -f ../develop 
>hg merge 
>hg commit -m "alpha2" 

Mais ce sera aussi tirer l'histoire changeset complète de « développer » au « public » (ce qui est pas ce que je veux).

Je pouvais également supprimer tous les fichiers de 'public', à l'exception du sous-dossier '.hg'. Ensuite, copiez manuellement tous les fichiers du « développer » répertoire et faire un

>hg commit -m "alpha2" 

Mais je dois « ajouter » de nouveaux fichiers, « supprimer » les fichiers obsolètes et « renommer » déplacé des fichiers à nouveau. L'utilisation de l'option -A avec commit ajouterait/supprimerait tous les fichiers de façon aveugle, même s'ils n'étaient pas contrôlés dans le dépôt 'development'.

Il doit y avoir un moyen de le faire ;-)

Répondre

5

plus efficace, je vous suggère de passer un peu plus de toute l'histoire, mais si vous ne pouvez pas l'estomac que pour une raison quelconque, vous pouvez faire tout ces choses:

  1. utilisation ConcatenatingChangesets à se joindre à tous les changesets de se développer en un seul changeset résultant en public -ou-
  2. supprimer tous les fichiers en public, faire une archive hg 'dans le développement, et d'élargir en public - qui vous obtiendrez des fichiers contrôlés sur ment -ou
  3. utilisation hg manifeste »dans le développement de xargs de pouvoir se déplacer sur les fichiers que vous voulez -ou-
  4. faire une « hg diff -r dernière changeset en public de pointe -r 'en développement, puis l'appliquer résultant diff en utilisant « importation hg » en public et vous aurez les pleins changements comme un seul changeset en public

tout de ceux-ci devraient faire la même chose, mais tous sont un peu laids parce que, en général, jeter l'histoire est difficile à faire.

Questions connexes