Subversion: Puis-je extraire, modifier et en faire une twig?

J’ai effectué une caisse de mon coffre à un DIR local et y ai apporté beaucoup de changements locaux. Maintenant, je ne veux pas le renvoyer dans le coffre, mais je préfère créer une twig à partir de cette version locale. Est-ce possible?

Puis-je copier le tronc dans une twig, puis cd DIR et svn switch à la twig?

MISE À JOUR : Merci pour les réponses, cela a fonctionné! Pour résumer les étapes:

  • cd DIR
  • svn copy . new-branch-URL
  • svn switch new-branch-URL .

(notez les points)

Selon sa ligne de commande, svn copy peut copier depuis un répertoire vers une URL de référentiel. Vous devriez donc pouvoir copier votre copie de travail sur la twig, par exemple:

 svn copy working_directory url_to_branch 

Le livre SVN ( http://svnbook.red-bean.com/en/1.6/svn-book.html#svn.branchmerge.using.create ) ne recommande pas de créer une twig à partir de la copie de travail locale.

Bien qu’il soit également possible de créer une twig en utilisant svn copy pour dupliquer un répertoire dans la copie de travail, cette technique n’est pas recommandée. En fait, cela peut être assez lent! Copier un répertoire du côté client est une opération linéaire, dans la mesure où il doit dupliquer chaque fichier et sous-répertoire du répertoire de la copie de travail sur le disque local.

Au lieu de cela, créez d’abord la twig, puis utilisez la commande svn switch pour pouvoir valider vos modifications. Si votre copie de travail n’est plus à jour avec le tronc, ajoutez “@REV” à l’URL source où “REV” est la révision de votre copie de travail signalée par svn info .

Copier un répertoire sur le serveur, cependant, est une opération à temps constant, et c’est la façon dont la plupart des gens créent des twigs.

 $ svn copy http://svn.example.com/repos/calc/trunk \ http://svn.example.com/repos/calc/twigs/my-calc-branch \ -m "Creating a private branch of /calc/trunk." 

Dans mon client SVN: TortoiseSVN, il suffit de:

  • Faites un clic droit sur le répertoire que je veux créer
  • dans “To URL”, sélectionnez le répertoire de la twig dans votre référentiel
  • dans le cadre “Créer une copie dans le référentiel à partir de:” sélectionnez “Copie de travail”

terminé 🙂

C’est comme copier la version locale vers l’URL de référentiel spécifiée.

Oui, vous pouvez le faire en ligne de commande SVN ou tortoiseSVN .

Vous devez spécifier votre copie de travail SVN comme src et votre nouvelle succursale comme destination du

 svn copy   

commander.

Dans TortoiseSVN, pointez simplement sur votre copie de travail, choisissez “Branche / tag” dans le menu contextuel et choisissez “Copie de travail” dans la section “Créer une copie dans le référentiel à partir de:”

Notez que ce n’est pas une bonne idée (pour des raisons de traçabilité) de créer des tags de cette manière, mais pour les twigs, c’est très bien.