2015-01-23 13 views
10

Lokalizacja naszego svn repo została zmieniona na inny adres URL, a ponadto względne ścieżki drzewa, gałęzi i znaczników zostały przesunięte. Teraz, gdy próbuję uzyskać svn relocate, otrzymuję tę wiadomość.Błąd przesiedlenia svn - nieprawidłowe miejsce docelowe przeniesienia

Invalid relocation destination: 'https://my-repo-server/new-proj-name/branches/my-branch' (does not point to target)

Próbowałem przeprowadzki do adresu URL repo i spróbował ponownie url oddziału chciałem przełączyć. Nie próbowałem z switch --relocate, ponieważ jest przestarzałe w mojej wersji svn.

Wierzę, że działałoby, gdyby nie zmieniono również struktury folderów.

+0

Czy to właściwie to samo repozytorium w nowej lokalizacji lub nowe repozytorium z tym samym kodem? Czy identyfikatory UUID są takie same z 'svn info'? – Ben

+0

Jest to nowe repozytorium z tym samym kodem i historią. Zasadniczo dzielimy repozytorium na dwie części; jeden dla kodu front-end i jeden dla back-end. – AlexMA

+0

Dlatego "przeniesienie" nie działa. Przeniesienie działa tylko wtedy, gdy przenosisz hosting * tego samego repozytorium do nowej lokalizacji; jedną z kontroli, którą wykonuje przed zezwoleniem na przeniesienie (szczegółowe informacje znajdują się w książce [svn book] (http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.relocate.html)) , jest porównanie UUID starego repozytorium z nowym repozytorium. – Ben

Odpowiedz

10

rozwiązać go roztworem prowizorka - od wewnątrz korzenia kopii roboczej, usunięte folder .svn i pobiegł svn checkout <new-url-of-branch> .

Jeśli ktoś ma lepszą odpowiedź, która nie wymaga usuwania folderu .svn, Wybiorę to.

+0

http://stackoverflow.com/questions/14656527/svn-switch-from-trunk-to-branch –

+0

Miałem tu użyć parametru --force. – ATorras

0

(To miał być komentarzem do użytkownika @ AlexMA własną odpowiedź, ale niektóre skończyło się na własną rękę.)

Może jeden edytować wc.db wewnątrz .svn katalogu z sqlite3 CLI. Ale najpierw trzeba znaleźć strukturę bazy danych, aby edytować odpowiednie tabele bezpośrednio przez SQL - po prostu wyrzucając wc.db, edytując plik zrzutu, ładowanie z powrotem jak z repozytorium powoduje, że kopia robocza nie jest już rozpoznawana jako taka. Ale może to otworzyć kolejne problemy. Po tym wszystkim, że kopia robocza jest uważana przez redaktorów SVN za zbędną, więc lepiej zaktualizuj WK do ostatniej wersji starego repozytorium, sprawdź nowe WC z nowego repozytorium w tej samej wersji, a następnie skopiuj wszystkie niezatwierdzone modyfikacje ze starego do nowego WC i odtworzyć dowolne listy zmian.

Powiązane problemy