80 votes

Subversion: Puis-je commander, modifier, puis en faire une branche?

J'ai fait une extraction à partir de mon tronc d'un répertoire local et fait beaucoup de changements locaux. Maintenant, je ne veux pas commettre dans le tronc, mais je préfère faire une branche à partir de cette version locale. Est-ce possible?

Je peux juste copier le tronc à une branche, puis cd DIR et svn switch à la direction?

Mise à JOUR: Merci pour les réponses, il a travaillé! Pour résumer les étapes:

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

(notez les points)

52voto

Lucas Points 392

Le SVN (Livrehttp://svnbook.red-bean.com/en/1.6/svn-book.html#svn.branchmerge.using.create) ne recommande pas la création d'une branche à partir de la copie de travail locale.

Alors qu'il est également possible de créer une branche en utilisant svn copy pour dupliquer un répertoire à l'intérieur de la copie de travail, cette technique n'est pas recommandée. Il peut être assez lente, en fait! Copier un répertoire sur le côté client est un linéaire de la durée de fonctionnement, en ce qu'il a fait de dupliquer tous les fichiers et sous-répertoire dans lequel la copie de travail de répertoire sur le disque local.

Au lieu de cela, créer la branche d'abord et ensuite utiliser l' svn switch commande de sorte que vous pouvez enregistrer vos modifications. Si votre copie de travail est beaucoup de date avec le tronc puis ajouter "@REV" à l'URL de la source où "REV" est la révision de votre copie de travail déclarées par svn info.

Copier un répertoire sur le serveur, cependant, est une constante de temps de l'opération, et c'est la façon dont la plupart des gens créer des branches.

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

39voto

wierob Points 2395

Selon son aide en ligne de commande, svn copy peut copier d’un répertoire vers l’URL du référentiel. Vous devriez donc pouvoir copier votre copie de travail dans la branche, par exemple:

 svn copy working_directory url_to_branch
 

9voto

twk Points 2220

Dans mon client SVN: TortoiseSVN il suffit de:

  • clic droit sur le répertoire du haut que je veux créer une branche
  • dans "To URL", sélectionnez le répertoire de la branche dans votre référentiel
  • dans le cadre "Créer une copie dans le référentiel de:" sélectionnez "Copie de travail"

terminé :)

C'est comme copier la version locale dans l'URL du référentiel spécifié.

1voto

Peter Parker Points 13770

Oui, vous pouvez le faire par SVN en ligne de commande ainsi que tortoiseSVN.

Vous devez spécifier votre SVN workingcopy comme de la src et de votre nouvelle branche de la destination de l'

svn copy <file/path/to/working/copy> <URL/TO/REPOSITORY/BRANCH>

commande.

Dans TortoiseSVN juste à point dans votre copie de travail, choisissez "Branche/étiquette" de contextmenu et choisissez l'option "copie de Travail" dans la section "Créer une copie dans le référentiel de l':"

Notez qu'il n'est pas une bonne idée (pour des raisons de traçabilité )pour créer des balises dans un tel chemin, mais pour les branches, il est parfaitement acceptable.

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