Svn przełącz się z bagażnika na gałąź

Jestem w głównym folderze projektu hostowanego przez SVN trunk i badam konfigurację dwóch gałęzi.

Jedna gałąź będzie "migawką" projektu przy obecnej (stabilnej) rewizji, a druga gałąź będzie jedną, nad którą będę pracował, aby zastosować jakiś nowy kod, przetestować, a następnie uaktualnić trunk do nowej wersji.

Moim celem jest zachowanie migawki jako zabezpieczenia i szybki sposób na uzyskanie starszej, stabilnej wersji naszego projektu. Druga gałąź, gdy zastosujemy świeży kod i testy przechodzą, zostaną połączone z powrotem do bagażnika, który oferujemy społeczeństwu.

Aby skonfigurować migawkę, skopiowałem naszą trunk do gałęzi o nazwie 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"

Jak na razie tak dobrze:

Committed revision 1115.

To, co chciałbym zrobić, to przełączyć moją lokalną kopię repozytorium na tę gałąź, aby upewnić się, że wszystko działa, ale dostaję komunikat o błędzie:

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

Komunikat o błędzie to:

svn: E155024: Invalid relocation destination: 
              'https://www.example.com/svn/branches/v1p2p3' 
              (does not point to target)
Co robię źle?

(jeśli to nie zadziała, podejrzewam, że nie mogę zacząć od bardziej ambitna druga gałąź. Szukam sposobu, aby to zrobić, aby nie uszkodzić istniejącego układu projektu. Dzięki za radę i przepraszam, jeśli to głupie pytanie.)

Author: Alex Reynolds, 2013-02-02

2 answers

Nie musisz --relocate, ponieważ gałąź znajduje się w tym samym adresie URL repozytorium. Just do:

svn switch https://www.example.com/svn/branches/v1p2p3
 117
Author: tzaman,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-02-01 23:05:41
  • Krótka wersja (poprawnej) odpowiedzi tzamana będzie (dla fresh SVN)

    svn switch ^/branches/v1p2p3
    
  • --relocate switch i tak jest przestarzały, Kiedy będzie potrzebny będziesz musiał użyć svn relocate komendy

  • Zamiast tworzenia snapshot-branch (ReadOnly) możesz użyć tagów (konwencjonalnych etykiet RO dla historii)

W systemie Windows znak caret (^) musi być unikalny:

svn switch ^^/branches/v1p2p3
 30
Author: Lazy Badger,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-18 19:22:42