Comment créer une branche dans SVN?
la source
Comment créer une branche dans SVN?
Le branchement dans Subversion est facilité par une fonction de copie très très légère et efficace.
La ramification et le marquage sont effectivement les mêmes. Copiez simplement un dossier entier du référentiel vers un autre endroit du référentiel à l'aide de la svn copy
commande.
Fondamentalement, cela signifie que c'est par convention ce que signifie la copie d'un dossier - que ce soit une sauvegarde, une balise, une branche ou autre. Selon 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.
Styles communs doivent avoir un tas de dossiers en haut de votre référentiel appelé tags
, branches
, trunk
, etc. - qui vous permet de copier l' ensemble de votre trunk
(ou sous-ensembles) dans les tags
et / ou branches
dossiers. Si vous avez plusieurs projets, vous souhaiterez peut-être reproduire ce type de structure sous chaque projet:
Cela peut prendre un certain temps pour s'habituer au concept - mais cela fonctionne - assurez-vous simplement que vous (et votre équipe) êtes clair sur les conventions que vous allez utiliser. C'est également une bonne idée d'avoir une bonne convention de dénomination - quelque chose qui vous indique pourquoi la branche / balise a été créée et si elle est toujours appropriée - envisagez des moyens d'archiver les branches obsolètes.
svn cp
utilise en fait des copies bon marché, il ne copie pas les fichiers réels lors de la ramification. Voir svnbook.red-bean.com/en/1.1/ch04s02.htmlCréez une nouvelle branche à l'aide de la
svn copy
commande comme suit:la source
svn switch svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH .
(si vous voulez basculer le paiement en cours vers une nouvelle branche) ousvn checkout svn+ssh://host.example.com/repos/project/branches/NAME_OF_BRANCH
(si vous voulez avoir une nouvelle branche dans un répertoire séparé) pour commencer à travailler sur la branche nouvellement créée.--parents
option avecsvn copy
!-m
option, il dit commesvn: E155010: Path '/home/constantine/someDirectory/svn+ssh:https:/myhost.com/svn/dir1/dir2/trunk/dir3/dir4/dir5' does not exist
. Avec-m
ça ditsvn: E205009: Local, non-commit operations do not take a log message or revision properties
. (J'ai remplacé les adresses, mais elles existent, à l'exception de ofc, du nouveau répertoire de branche et de l'ensemble du chemin + URL que SVN a fusionné pour une raison quelconque dans l'erreur) .Si votre repo est disponible via https, vous pouvez utiliser cette commande pour créer une branche ...
la source
Si vous avez des modifications locales dans le tronc, utilisez-les
Rsync
pour synchroniser les modificationsla source
rsync
de cette façon.svn cp
copiera également toutes les modifications locales.Supposons que vous vouliez créer une branche à partir d'un nom de tronc (comme "TEST") puis utilisez:
la source
Normalement, vous le copiez dans svn + ssh: //host.example.com/repos/project/branches/mybranch afin de pouvoir conserver plusieurs branches dans le référentiel, mais votre syntaxe est valide.
Voici quelques conseils sur la façon de configurer la disposition de votre référentiel .
la source
Astuce pour les nouveaux utilisateurs SVN; cela peut aider un peu à obtenir rapidement les URL correctes.
Exécutez
svn info
pour afficher des informations utiles sur la branche en cours d'extraction.L'URL devrait (si vous exécutez svn dans le dossier racine) vous donner l'URL à partir de laquelle vous devez copier.
Pour passer également à la branche nouvellement créée, utilisez la
svn switch
commande:la source
Si vous prévoyez même de fusionner votre succursale, 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 épargnant de vie!
la source
la source
Voici les étapes pour créer une branche à partir du tronc en utilisant TortoiseSVN dans la machine Windows. Cela nécessite évidemment l'installation du client TortoiseSVN.
la source