Validez les modifications dans une branche différente de la branche actuellement extraite avec subversion

115

J'ai travaillé sur du code extrait de la ligne de développement et j'ai découvert que les modifications apportées pourraient être des modifications importantes et doivent être déplacées vers une branche expérimentale avant de s'engager dans l'arborescence de développement principale. Cependant, je n'ai pas extrait la branche expérimentale et je ne veux pas perdre les modifications qui ont déjà été apportées.

Existe-t-il un moyen de valider les modifications du dossier de travail dans une branche différente de celle initialement extraite?

Paul Alexander
la source

Réponses:

129

Vous devez d'abord créer une branche à partir d'un connu sourceURL(ce serait votre `` ligne de développement '' que vous avez mentionnée dans la question):

svn copy sourceURL branchURL

Ensuite, passez à cette branche:

svn switch branchURL

Et validez vos modifications:

svn commit
ryanprayogo
la source
56

Vous pouvez le faire dans TortoiseSVN comme ça:

  • Cliquez avec le bouton droit sur le répertoire où se trouvent les modifications que vous souhaitez créer. Il ne doit pas être la racine du référentiel, moins dupliquer de cette manière;
  • Sélectionnez TortoiseSVN -> " Branch / tag ... ";
  • Définir sur URL : "svn: // host / repository / FooBar / branches / FooBarBranchName";
  • Assurez-vous que [*] Copie de travail est sélectionné . Cela garantira que les changements sont validés;
  • Message du journal : "Expérimentation avec des mouches :)";
  • Facultatif: cochez [*] Basculer la copie de travail vers la nouvelle branche / étiquette . Ceci est utile si vous prévoyez de continuer à travailler sur la nouvelle branche. Bien que vous puissiez également y passer plus tard.
  • Essayez de trouver le bouton OK . Astuce: il est dans la partie inférieure de la fenêtre centrée.

Prendre plaisir!

J Pollack
la source
Qu'entendez-vous par "Il ne doit pas être la racine du référentiel, moins dupliquer de cette manière"?
thekozak
Je recommande de ne pas choisir le dossier racine avec tous les sous-dossiers non pertinents qui ne sont pas susceptibles d'être modifiés dans la branche. Plus tard, il sera plus facile de fusionner la branche (la plus petite) avec le tronc.
J Pollack
Dans mon cas, le fait de ne valider que ce dossier causait des problèmes car le logiciel dépend également des super-dossiers. Je pense que c'est le plus souvent le cas. Je pense que pour la plupart des cas d'utilisation, il est préférable de simplement valider le tout, donc il est recommandé de s'engager depuis la racine.
ikku100
@ ikku100 s'il n'y a pas de changement dans ces super-dossiers, quelle importance cela aurait-il?
simpleuser
Cela pourrait parce que les gens plus tard pourraient y apporter des modifications, mais je suppose que vous pouvez vérifier la révision correcte du super-dossier, puis extraire la branche du sous-dossier. Ce qui est plus de travail que de simplement s'engager depuis le superdir, je pense.
ikku100
8

Vous pouvez créer une nouvelle branche directement à partir de votre répertoire de travail et basculer le répertoire de travail vers cette branche.

Les commandes sont svn copyetsvn switch

Dima
la source