2010-08-18 15 views
8

utworzonego repozytorium w moim komputerze lokalnym:svn copy braku podczas próby utworzenia oddziałów

svnadmin create /home/me/Desktop/svn_test/trunk 

następnie zaimportować katalogu mydir do repozytorium.

svn import myDir/ file://home/me/Desktop/svn_test/trunk 

Do tej pory svn kasy, commit, aktualizacja działa dobrze.

Teraz chcę utworzyć oddział z repozytorium, więc poszedłem za tutorial i stracony:

(svn docelowe źródło kopia)

svn copy file:///home/me/Desktop/svn_test/trunk file:///home/me/Desktop/svn_test/branches 

Potem dostałem:

svn: Unable to open an ra_local session to URL 
svn: Unable to open repository 'file:///home/me/Desktop/svn_test' 

Co ja tu robię źle?

Po dokładnym zbadaniu przykładowego polecenia, dowiedziałem się, że istnieją odwrotne ukośniki, jak poniżej, co to jest? (I nadal się błąd)

svn copy file:///home/me/Desktop/svn_test/trunk \ file:///home/me/Desktop/svn_test/branches \ -m "test" 
svn: Cannot mix repository and working copy sources 
+0

Prawdopodobnie tylko literówka w pytaniu, ale wydaje się, że brakuje ci ukośnika w linii importu. – timdev

+0

Czy to powoduje awarię kopii svn? polecenie import nie wygenerowało żadnego błędu, a inne polecenia, takie jak kasowanie, zatwierdzanie itd. działają poprawnie. Mam problem z poleceniem svn copy. Zmontowałem, aby uzyskać więcej szczegółów, ale nie jestem pewien, co robią tutaj backsloki. –

Odpowiedz

7

Nie utworzyć repozytorium w svn_test

Utworzono go w svn_test/bagażniku

Chcesz

$ svnadmin create /home/me/Desktop/svn_test 

zamiast.

Sposób, w jaki to zrobiłeś, svn_test/trunk jest repozytorium, więc subversion nie może zrobić anthying o svn_test/branches - ponieważ nie jest to ścieżka do repozytorium.

EDIT (dla jasności):

Co chcesz zrobić coś takiego:

$ mkdir /path/to/repo    # NO /trunk! 
$ svnadmin create /path/to/repo  # NO /trunk! 
$ svn import -m "initial import" . file:///path/to/repo/trunk #import into a directory called "/trunk" that lives in the repository 
$ svn co file:///path/to/repo/trunk myproject 
$ cd myproject 
$ # do some stuff to your working copy... 
$ svn commit -m "I made some changes" 
$ # decide you want to make a branch... 
$ svn copy -m "branching for some reason" file:///path/to/repo/trunk file:///path/to/repo/branches/some-branch 

Zauważ, że nie ma żadnej wzmianki o "pnia" do svn import dzieje.

+0

Zaktualizowałem pytanie, przepraszam, że było literówka, więc faktycznie utworzyłem repozytorium w katalogu/home/me/Desktop/svn_test/trunk –

+2

Zignoruj ​​ukośniki odwrotne, które widziałeś - służą do tworzenia wieloliniowych poleceń w powłoce. Twój problem polega na tym, że "trunk" nie ma być repozytorium, tylko katalogiem * w * repozytorium. Edytuję moją odpowiedź, by dać właściwe demo. – timdev

+0

Świetnie! teraz działa, dziękuję! Zmyliłem użycie pnia pomiędzy moim katalogiem projektu a repozytorium. –

Powiązane problemy