J'ai une succursale dont je fais les changements séparément. D'autres coéquipiers font les changements de coffre. Le scénario est, maintenant je veux donner une version comprenant des mises à jour de tronc + mes mises à jour de branche. Comme je n'ai pas encore terminé le module complet, je ne veux pas fusionner la branche avec le tronc. Au lieu de cela, je veux créer une autre nouvelle branche à partir du tronc, puis fusionner mes modifications de branche dans cette nouvelle branche. Pour que je puisse avoir la nouvelle branche entièrement mise à jour avec mes mises à jour de branche + les dernières mises à jour de tronc.
J'utilise la fusion tortue svn et voici ce que j'ai fait:
Disons que dans le tronc il y a un nouveau fichier ajouté: A, qui n'a pas dans ma branche. Donc, la branche nouvellement créée ayant également le fichier A. (J'ai utilisé l'option de fusion: "Fusion de deux arbres différents") Je vais dans le nouveau dossier de branche et j'ai donné cette URL de branche au champ [FROM] et j'ai donné mon URL de branche pour le [ TO]. Quand j'ai fait la fusion, il supprime ce fichier A de la copie locale. Apparemment, ce que je comprends, c'est que la fusion a amené le nouvel état de branche à mon état de branche, au lieu d'intégrer les modifications.
Ce que je veux, c'est fusionner mes modifications de branche dans la nouvelle branche, sans perdre les dernières modifications que la nouvelle branche a. Pour que je puisse avoir la nouvelle branche: dernières modifications de tronc + mes changements de branche.
Comment faire ça?
Perform fresh checkout of your repository
Precondition:( Suppose your repository name: Team )
1. You have trunk( Main Dev )
2. You have branch ( Your changes )
3. Create say "newbranch" from trunk.[ TortoiseSVN->Branch/tag][ Picture1 }Note:Select Head revision
4. Perform svn Update inside "Team"->So newBranch is updated.[picture2]
5. Now, select newbranch and merge[Tortoisesvn->Merge][Picture3]
6. Select default "Merge a range of revision", to select revisions which you only intrested to merge.[[Picture4]
7. Click, showlog to select required revisions you intrested on[picture5]
Finaly merge is completed[picture6]
** Remarque: Si des conflits surviennent, fusionnez les révisions de conflits manuellement.
Je créerais une nouvelle branche à partir du tronc et je fusionnerais votre branche dans la nouvelle branche via Fusionner une gamme de révisions. Parce que nouvelle branche est plus récent, tout devrait fonctionner correctement.