Comment créer une branche dans SVN?

Comment créer une branche dans SVN?

585
demandé sur bahrep 2008-08-05 13:25:29

9 réponses

La ramification dans Subversion est facilitée par une installation de copie Très Très légère et efficace.

La ramification et le marquage sont effectivement les mêmes. Il suffit de copier un dossier entier dans le référentiel à un autre endroit dans le référentiel en utilisant la commande svn copy.

Fondamentalement, cela signifie que c'est par convention ce que signifie copier un dossier - que ce soit une sauvegarde, une balise, une branche ou autre. En fonction de la façon dont vous voulez penser aux choses (normalement en fonction de L'outil SCM que vous avez utilisé dans le passé) vous devez configurer une structure de dossiers dans votre référentiel pour prendre en charge votre style.

Des styles Communs sont à avoir un tas de dossiers en haut de votre dépôt appelé tags, branches, trunk, etc. - cela vous permet de copier tout votre trunk (ou sous-ensembles) dans les dossiers tags et/ou branches. Si vous avez plus d'un projet, vous pouvez reproduire ce type de structure sous chaque projet:

Cela peut prendre un certain temps pour s'habituer au concept-mais cela fonctionne - assurez-vous juste que vous (et votre équipe) sont claires sur les conventions que vous allez utiliser. C'est aussi une bonne idée d'avoir une bonne convention de nommage - quelque chose qui vous indique pourquoi la branche/balise a été faite et si elle est toujours appropriée - considérez les moyens d'archiver les branches obsolètes.

328
répondu Ronnie 2018-07-02 18:44:15

Créez une nouvelle branche en utilisant la commande svn copy comme suit:

$ svn copy svn+ssh://host.example.com/repos/project/trunk \
           svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH \
      -m "Creating a branch of project"
577
répondu sparkes 2018-09-13 22:46:58

Si vous êtes repo est disponible via https, vous pouvez utiliser cette commande pour brancher ...

svn copy https://host.example.com/repos/project/trunk \
       https://host.example.com/repos/project/branches/branch-name \
  -m "Creating a branch of project"
27
répondu Dave 2016-02-10 20:36:21
svn cp /trunk/ /branch/NEW_Branch

Si vous avez quelques modifications locales dans le coffre puis utilisez Rsync pour synchroniser les modifications

rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
24
répondu Parag Bafna 2013-09-03 09:14:12

Normalement, vous le copiez dans svn+ssh://host.example.com/repos/project/branches/mybranch afin que vous puissiez conserver plusieurs branches dans le référentiel, mais votre syntaxe est valide.

Voici quelques conseils sur la comment configurer votre disposition du dépôt.

14
répondu pix0r 2008-08-05 12:40:31

Supposons que vous vouliez créer une branche à partir d'un nom de tronc (comme " TEST") ensuite, utilisez:

svn cp -m "CREATE BRANCH TEST" $svn_url/trunk $svn_url/branches/TEST
12
répondu Chamly Idunil 2016-02-01 21:37:29

Si vous envisagez même de fusionner votre branche, je vous suggère fortement de regarder ceci:

Svnmerge.py

J'entends que Subversion 1.5 construit plus de suivi de Fusion, Je n'ai aucune expérience avec cela. Mon projet est sur 1.4.X et svnmerge.py est un sauveteur de vie!

11
répondu basszero 2013-01-28 04:33:56

Astuce pour les nouveaux utilisateurs de SVN; cela peut aider un peu à obtenir rapidement les URL correctes.

Exécutez svn info pour afficher des informations utiles sur la branche extraite en cours.

L'URL devrait (si vous exécutez svn dans le dossier racine) vous donner l'URL à partir de laquelle vous devez copier.

Aussi de passer à la branche nouvellement créée, utilisez svn switch commande:

svn switch http://my.repo.url/myrepo/branches/newBranchName
10
répondu chim 2016-02-01 21:43:38
  • Créez un nouveau dossier en dehors de votre projet actuel. Vous pouvez lui donner n'importe quel nom. (Exemple: Vous avez une caisse pour un projet nommé "Personnalisation". Et il a beaucoup de projets, comme "Project1", "Project2"....Et vous voulez créer une branche "Projet1". Alors ouvrez d'abord la "personnalisation", faites un clic droit et créez un nouveau dossier et donnez-lui un nom, "Project1Branch").
  • Faites un clic droit sur "Myproject1"....TortoiseSVN - > Branche / Tag.
  • Choisissez copie de travail.
  • Ouvrir navigateur....Juste à droite du parallèle sur "To URL".
  • Sélectionnez personnalisation.....faites un clic droit puis ajoutez un dossier. et passez par le dossier que vous avez créé. Ici, C'est"Project1Branch". Maintenant, cliquez sur le bouton OK pour ajouter.
  • Prenez la caisse de ce nouveau banch.
  • Allez à nouveau dans votre projet quelle branche vous voulez créer. Faites un clic droit TorotoiseSVN - > branche / tag. Sélectionnez ensuite copie de travail. Et vous pouvez donner L'URL comme nom de branche. comme {votre IP adresse / svn/AAAA/personnalisation / Project1Branch}. Et vous pouvez définir le nom dans L'URL afin qu'il crée le dossier avec ce nom seulement. Comme {votre adresse IP / svn / AAAA / personnalisation / Project1Branch / MyProject1Branch}.
  • Appuyez sur le bouton OK. Maintenant, vous pouvez voir les logs dans ...votre copie de travail sera stockée dans votre succursale.
  • Maintenant, vous pouvez prendre un départ...et vous permettent de profiter de votre travail. :)
5
répondu Sonu Gupta 2016-02-01 21:41:15