SVN - Zmień kopię roboczą tak, aby wskazywała na nową ścieżkę svn


87

Mam repozytorium SVN, które zostało przeniesione pod nowy adres / ścieżkę. Jednak mam kopię roboczą z niezatwierdzonym kodem źródłowym nadal wskazującym na starą (teraz nieprawidłową) ścieżkę repozytorium. Jak zmienić kopię roboczą, aby wskazywała na nowe repozytorium?

Odpowiedzi:



58

Użyj svn switchpolecenia z --relocateopcją wiersza poleceń.


1
Dzięki. Oto, czego użyłem: svn switch --relocate file: /// Users / user / old_repository / project / trunk file: /// Users / user / new_repository / project / trunk
quano

Nie naprawia adresów URL w svn: externals. Masz jakiś pomysł, jak to zrobić?
Axel Bregnsbo

26

Korzystanie z TortoiseSVN

  1. Kliknij prawym przyciskiem myszy kopię roboczą i wybierz opcję „SVN Switch ...”
  2. W formularzu „Przełącz na oddział” Wybierz nową ścieżkę SVN

Korzystanie z polecenia

  1. Otwórz konsolę
  2. Przejdź do kopii roboczej cd [working copy path]
  3. Napisz polecenie svn relocate [new url]

Ma to zastosowanie tylko wtedy, gdy używasz TortoiseSVN, którego plakat nie wskazuje, że używa.
zck

Cześć @zck, zauważ, że napisałem 2 rozwiązanie w 1 odpowiedzi najpierw TortoiseSVN, a drugie to Polecenie to polecenie jest przestarzałe dla subversion w ogóle możesz przejrzeć tę stronę svn relocate / svn Subcommands
Ahmed Abdallah

Cóż, twoja odpowiedź została zredagowana po tym, jak skomentowałem, aby uwzględnić sposób robienia tego z wiersza poleceń. Ta odpowiedź z wiersza poleceń została już opublikowana w czerwcu, więc nie ma potrzeby jej powtarzać.
zck

Nie, zamieszczam odpowiedź w jej aktualnych słowach jako moja edycja tylko po to, aby poprawić formatowanie; i myślę, że polecenie, które napisałem, jest wyraźniejsze niż to, które zostało napisane w czerwcu
Ahmed Abdallah

Sposób GUI TortoiseSVN wymaga kliknięcia „Przenieś”, a nie przełączenia. Co ma sens, biorąc pod uwagę wiersz poleceń. Nie jestem pewien, co zrobi przełącznik - wydawało się, że próbuje uzyskać dostęp do starego i nowego adresu URL, coś, czego nie chciałem, żeby robił.
Gerard ONeill

12

Być bardziej dokładnym

svn switch --relocate [complete url of the old repo] [complete url of the new repo] 

Na przykład:

svn switch --relocate  http://svn.repo.com:9880/website/branches  http://svnrepo.com/web/branches 

3

Korzystanie z TortoiseSVN tortoisesvn docs

  1. Przejdź do głównego folderu kopii roboczej
  2. Kliknij prawym przyciskiem myszy, kliknij Podmenu TortoiseSVN, kliknij Zmień położenie.
  3. Wprowadź nową ścieżkę

1

Bardzo proste :

Krok 1: Otwórz wiersz polecenia / terminal i ustaw ścieżkę roboczą

Krok 2: Wykonaj tę linięsvn switch --relocate http://newurl


0

Zmieniłem serwer svn, aby wymusić przekierowanie wszystkiego z HTTP na HTTPS (i mogło to być przekierowanie na dowolny inny adres URL) i zauważyłem, że to svn relocatepolecenie powoduje wiele problemów z zewnętrznymi. Na szczęście odkryłem, że najłatwiej było po prostu zrobić svn updatei ze względu na przekierowanie serwera svn zaktualizował wszystkie adresy URL przechowywane w lokalnej kopii roboczej, w tym zewnętrzne.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.