622 votes

Comment créer une branche dans SVN?

Comment créer une branche dans SVN?

603voto

sparkes Points 10192

Subversion le rend facile (certains pensent trop facile) pour créer une nouvelle branche en utilisant la commande svn copy.

 $ 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"
 

347voto

Ronnie Points 3742

La ramification dans la Subversion est facilité par un très très léger et efficace installation copie.

La ramification et le Marquage sont, en effet de la même. Il suffit de copier un dossier complet dans le référentiel à un autre endroit dans le référentiel.

Fondamentalement, cela signifie que c'est par convention que la copie d'un dossier signifie - qu'il s'agisse d'une sauvegarde, une étiquette, une succursale ou whater. Selon la façon dont vous voulez penser à des choses (normalement en fonction de SCM de l'outil que vous avez utilisé dans le passé), vous devez configurer une structure de dossier dans votre référentiel à l'appui de votre style.

Des styles communs sont à avoir un tas de dossiers en haut de votre dépôt appelé "tags", "branches" et "tronc" etc. - qui vous permet de copier l'intégralité de votre "tronc" (ou sous-ensembles) dans les tags et/ou branches des dossiers. Si vous avez plus d'un projet que vous pourriez vouloir reproduire ce type de structure de cadre de chaque projet:

Il peut prendre un certain temps pour se utilisé pour le concept, mais il fonctionne - assurez-vous juste que vous (et votre équipe) sont claires sur les conventions que vous allez utiliser. Il est également une bonne idée d'avoir une bonne convention de nommage - quelque chose que vous dit pourquoi la branche/étiquette a été faite et si elle est toujours winrar - réfléchir aux moyens d'archivage des branches qui sont obsolètes.

26voto

Parag Bafna Points 10462
 svn cp /trunk/ /branch/NEW_Branch
 

Si vous avez des modifications locales dans le tronc, utilisez Rsync pour synchroniser les modifications

 rsync -r -v -p --exclude ".svn" /trunk/ /branch/NEW_Branch
 

14voto

pix0r Points 17854

Normalement, vous le copiez dans svn + ssh: //host.example.com/repos/project/branches/mybranch pour que vous puissiez conserver plusieurs branches dans le dépôt, mais votre syntaxe est valide.

Voici quelques conseils sur la configuration de la mise en page de votre référentiel .

11voto

basszero Points 14539

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

Svnmerge.py

J'entends 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 épargnant de vie!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X