Nous avons un grand projet avec plusieurs sous-projets. Nous approchons d'une version de notre projet, et les nouvelles fonctionnalités d'un sous-projet ne seront pas terminées avant la publication comme prévu initialement. Ce que je voudrais faire est de déplacer toutes les modifications de ce sous-projet liées aux nouvelles fonctionnalités dans une branche distincte pour continuer à travailler pour la prochaine version, mais je ne suis pas sûr de la meilleure façon d'y parvenir.Subversion - comment déplacer des changesets d'un tronc vers une branche?
La situation est fondamentalement:
/proj/trunk/A/ /proj/trunk/B/ /proj/trunk/C/
Nous avons des révisions A..Z cochés depuis la dernière version. Les révisions d, f, g et j..n contiennent des travaux liés à une nouvelle fonction de C qui ne sera pas terminée à temps. Les révisions e, h et q contiennent des changements indépendants de C qui doivent figurer dans cette version. Je voudrais créer un /proj/branches/new-feature-for-C/
et déplacer les changements d, f, g et j..n là, tout en gardant e, h, et q dans le coffre. Il n'y a pas de chevauchement entre les modifications à déplacer vers la branche et les modifications à conserver sur le tronc, et aucun des changements à déplacer vers la branche ne dépend de changements dans aucun autre sous-projet depuis la dernière version.
J'ai joué un peu de le faire de cette façon, mais je ne peux pas voir un moyen facile de tout fusionner dans le coffre une fois la nouvelle fonctionnalité est terminée.Parce que nous avons dérivé de la tête du tronc, puis inversé les changements indésirables sur le tronc, il semble y avoir aucun bon moyen de retirer ces changements de la branche avec les changements plus récents pour terminer la fonctionnalité C, tout en préservant les changements à la tronc non lié à la fonctionnalité C. – Thomee
quelle version de subversion utilisez-vous? Dans 1.5+ cela devrait fonctionner, mais vous pouvez utiliser l'option --reintegrate. Avant 1.5, j'ai utilisé le script svnmerge.py avec un certain succès. –
Le référentiel n'a pas été mis à niveau, donc je n'ai pas les fonctionnalités de suivi de fusion 1.5+. Le problème que je rencontre (et c'est peut-être quelque chose que je fais mal), c'est que lorsque j'essaie de réintégrer la branche de fonctionnalité, il n'y a rien à faire entre la suppression de la fonctionnalité incomplète du tronc et d'autres changements qui sont arrivés sur le tronc après cela. Ainsi, tout le travail existant qui a été copié a ensuite été supprimé, reste supprimé ou je perds les autres modifications apportées après la suppression de la fonctionnalité incomplète. – Thomee