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.)
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
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