Comment créer une branche dans SVN?
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.
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"
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"
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
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.
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
Si vous envisagez même de fusionner votre branche, je vous suggère fortement de regarder ceci:
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!
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
- 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. :)