web-dev-qa-db-fra.com

Svn basculer du tronc à la branche

Je me trouve dans le dossier racine du projet trunk d'un projet hébergé par SVN et j'explore la configuration de deux branches.

Une branche sera un "instantané" du projet lors de la révision actuelle (stable), et une seconde sera celle sur laquelle je travaillerai pour appliquer un nouveau code, tester, puis mettre à niveau le tronc vers une nouvelle version.

Mon objectif est de conserver l’instantané comme assurance et comme moyen rapide d’obtenir une version stable et plus ancienne de notre projet. La deuxième branche, une fois que nous aurons appliqué le nouveau code et que les tests auront réussi, sera fusionnée dans le coffre, que nous proposons au public.

Pour configurer l’instantané, j’ai copié notre trunk dans une branche appelée v1p2p3:

$ svn cp https://www.example.com/svn/trunk \ 
         https://www.example.com/svn/branches/v1p2p3 \
         -m "Branching from root trunk to v1p2p3 at r1114"

Jusqu'ici tout va bien:

Committed revision 1115.

Ce que je voudrais faire est de passer ma copie du référentiel local à cette branche, pour m'assurer que tout fonctionne, mais je reçois un message d'erreur:

$ svn switch --relocate https://www.example.com/svn/trunk \
                        https://www.example.com/svn/branches/v1p2p3

Le message d'erreur est:

svn: E155024: Invalid relocation destination: 
              'https://www.example.com/svn/branches/v1p2p3' 
              (does not point to target)

Qu'est-ce que je fais mal?

(Si cela ne fonctionne pas, je suppose que je ne peux pas commencer par la deuxième branche, plus ambitieuse. Je cherche un moyen de le faire qui n'endommage pas la structure du projet existant. Merci pour vos conseils, et excuses s'il s'agit d'une question stupide.)

61
Alex Reynolds

Vous n'avez pas besoin de --relocate puisque la branche se trouve dans la même URL de référentiel. Il suffit de faire:

svn switch https://www.example.com/svn/branches/v1p2p3
132
tzaman
  • La version courte de la réponse (correcte) tzaman sera (pour les SVN frais)

    svn switch ^/branches/v1p2p3
    
  • --relocate Le commutateur est de toute façon déconseillé, le cas échéant vous devrez utiliser svn relocate commande

  • Au lieu de créer une branche d'instantané (ReadOnly), vous pouvez utiliser des balises (conventionnelles RO pour l'historique)

Sous Windows, le caractère caret (^) doit être échappé:

svn switch ^^/branches/v1p2p3
34
Lazy Badger