J'ai la situation suivante:Comment est-ce que je peux pousser/tirer un changeset individuel entre des dépôts dans Mercurial?
- Je le site A, qui a son repo Mercurial, et nous avons mis au point pendant un certain temps. Disons que A a eu 5 révisions.
- Nous devons maintenant créer le site B, qui est presque identique au site A, sauf pour la conception graphique, principalement. J'ai donc cloné le repo, commencé le site B, et maintenant le repo de B a tout l'histoire de A, plus un tas de changesets qui ne devraient jamais revenir à A (principalement des CSS et des images). Disons que ces changements m'ont pris 3 révisions.
- Enfin, j'ai maintenant fait un changement à B que je voudrais revenir à A car il appartient aux deux sites. C'est la révision 9 dans le repo de B. La question est: Comment puis-je déplacer la révision 9 du repo de B dans le repo de A, sans déplacer les révisions 6-8? J'ai essayé de pousser/tirer régulièrement, mais cela déplace tous les changesets.
- J'ai essayé d'exporter des paquets ou des correctifs, mais ceux-ci refusent d'importer dans A à cause du parent manquant.
Je pensais que l'une des beautés de la DVCS était que je pouvais faire ce genre de chose facilement (qui, dans le monde VCS « centralisé » Je pouvais corriger facilement avec des branches et la fusion, je l'ai fait avec Vault une beaucoup et c'est assez facile).
Ai-je raté quelque chose ici?
NOTE: J'ai regardé dans "MQ", mais cela semble être une grande boîte de Pandore, et il semblerait que cela affectera le cycle de validation normal juste pour être activé. Est-ce correct?
Toute aide ou pointeur sera grandement appréciée. Je vous remercie!
Daniel
Branches: Hmmmm, pas vraiment sûr. Je n'ai pas eu beaucoup de succès pour comprendre Mercurial Branches :-) Ce sont 2 sites différents, que dans mon HD j'ai dans 2 dossiers différents ... Je sais comment faire ça avec des branches dans Vault, mais comment le faire dans Hg? Quand j'ai essayé de faire du branchement, j'avais essentiellement un dossier de travail, et je pouvais changer (* update *) laquelle des branches était là ... –
Je proposais d'avoir deux branches dans chacun de ces dossiers (trois au total) . Un avec les commits partagés et l'autre avec les commits qui n'iront jamais dans l'autre repo. Vous fusionnez dans la branche partagée avec les branches spécifiques quand vous en avez besoin :-) Pour une explication sur les branches Mercurial: http://mercurial.selenic.com/wiki/Branch#Creating_a_Branch si vous avez d'autres questions, demandez :-) – ikanobori
Ah, intéressant. Je vais expérimenter avec ça. Merci pour l'idée! –