2010-08-18 19 views
8

ho creato un repository in mia macchina locale:svn copia non riuscendo nel tentativo di creare rami

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

Poi importare directory myDir al repository.

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

Finora svn checkout, commit, update funziona bene.

Ora, voglio creare ramo dal repository, così ho seguito il tutorial e giustiziato:

(svn destinazione origine della copia)

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

Poi ho avuto:

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

Cosa sto facendo male qui?

Dopo aver esaminato attentamente il comando di esempio, ho scoperto che ci sono dei backslash come di seguito, quali sono quelli? (E ancora ottenere l'errore)

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

Probabilmente solo un errore di battitura nella tua domanda, ma sembra che manchi una barra in avanti nella tua linea di importazione. – timdev

+0

Fa sì che la copia di svn fallisca? il comando di importazione non ha generato alcun errore e altri comandi come il checkout, il commit ecc. funzionano correttamente. Sto avendo problemi con il comando svn copy. Ho modificato per ottenere maggiori dettagli, ma non sono sicuro di cosa stiano facendo i backslash qui. –

risposta

7

Non stato creato un repository in svn_test

È stato creato in svn_test/trunk

Volete

$ svnadmin create /home/me/Desktop/svn_test 

invece.

Il modo in cui l'hai fatto, svn_test/trunk è il repository, quindi la sovversione non può fare anthying su svn_test/branches - dal momento che non è un percorso di repository.

EDIT (per chiarezza):

Che cosa si vuole fare è qualcosa di simile:

$ 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 

Si noti che non v'è alcuna menzione di "tronco" fino a quando il svn import accade.

+0

Ho aggiornato la domanda, mi dispiace fosse l'errore di battitura quindi ho effettivamente creato il repository in/home/me/Desktop/svn_test/trunk –

+2

Ignora i backslash che hai visto - servono per creare comandi multi-linea nella shell. Il tuo problema è ancora che "trunk" non dovrebbe essere il repository, solo una directory che è * in * il repository. Modifica la mia risposta per dare una demo adeguata. – timdev

+0

Ottimo! sta funzionando ora, grazie! Ho confuso l'uso del trunk tra la mia directory del progetto e il repository. –

Problemi correlati