Est-il possible de fusionner une série de révisions d'une branche à une autre dans Mercurial?fusionner des révisions sélectionnées d'une branche sur une autre dans Mercurial
par exemple.
|r1
|r2
|r3
|\___
| | r5
| | r6
| | r7
| | ...
| | r40
|r41
Si je veux fusionner les versions 6 & 7, mais pas 5, dans la branche principale - est-ce possible?
Une telle fusion peut être trivial, par exemple, si les fichiers modifiés r5 qui ne sont pas modifiés dans 6 & 7 (et donc ses changements, sinon nécessaire, peuvent être ignorées sans)
Qu'en est-multiple révision sélectionnée varie de la branche A à la branche B? par exemple. fusionner 4-7, 20-25 et 30-34?
(ce n'est pas un cas réel, juste une illustration. Je suis en train de comprendre si hg a cette fonctionnalité de fusion révision de gamme que je sais svn a)
Il n'est pas vrai que r6 doit dépendre de r5 de manière significative. Par exemple, il se peut que r5 ne change qu'un fichier que les autres révisions ne touchent pas, donc il n'y a absolument aucun problème à ignorer cette révision particulière (d'un point de vue centré sur les données). S'il vous plaît ne supposez pas que j'utilise hg de cette façon, j'essaie juste de comprendre ses capacités. –
En outre, je n'ai pas vraiment compris ce que vous voulez dire par la façon dont l'arbre ressemble. Votre illustration d'arbre montre plusieurs branches avec peu de révisions. Est-ce l'esprit de hg - pour avoir seulement des branches courtes? Parce que parfois vous avez simplement besoin d'une branche distincte pour faire beaucoup de travail sur ce qui ne va pas dans le coffre. Si vous gérez de nombreuses versions historiques, il n'est pas possible d'avoir un référentiel par version, donc les branches sont la seule solution raisonnable. Alors, comment proposez-vous de garder ces branches courtes, et pourquoi serait-ce mieux que d'avoir plusieurs branches divergentes en cas de besoin? –
r6 dépend de r5 parce que vous l'avez dit quand vous avez fait le parent de r5 r6. Si vous voulez éviter cela, et ils sont vraiment indépendants, vous pouvez 'hg update' à un autre parent avant de changer 6. Si avant de faire r6 vous aviez fait 'hg update r4' alors le parent de r6 serait r4, et vous pourrait le déplacer à toute branche de développement qui avait déjà r4. Dans le sens le plus large lorsque vous effectuez un changement, demandez-vous «quel est le premier point dans l'histoire que j'aurais pu faire cela» et ensuite «hg update» à ce point. Ensuite, vous avez un changeset qui peut être facilement fusionné partout où cela a du sens. –