2010-08-18 14 views
8

he creado un repositorio en mi máquina local:svn copy fallar al intentar crear ramas

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

Entonces importación de directorio myDir al repositorio.

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

Hasta ahora svn checkout, commit, update funciona bien.

Ahora, quiero crear rama desde el repositorio, por lo que he seguido el tutorial y ejecutadas:

(destino fuente de la copia SVN)

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

Entonces tuve:

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

¿Qué estoy haciendo mal aquí?

Después de examinar cuidadosamente el comando de muestra, descubrí que hay barras diagonales inversas como a continuación, ¿cuáles son? (Y aún así obtener el error)

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

Probablemente sea solo un error en su pregunta, pero parece que le falta una barra diagonal en su línea de importación. – timdev

+0

¿Eso hace que svn copy falle? El comando import no arrojó ningún error y otros comandos como checkout, commit etc. funcionan bien. Estoy teniendo problemas con el comando svn copy. He editado para obtener más detalles, pero no estoy seguro de lo que están haciendo las barras diagonales inversas aquí. –

Respuesta

7

no ha creado un repositorio en svn_test

Usted creó en svn_test/tronco

¿Quieres

$ svnadmin create /home/me/Desktop/svn_test 

lugar.

De la forma en que lo hizo, svn_test/trunk es el repositorio, por lo tanto, la subversión no puede hacer enojar a svn_test/branches, ya que no es una ruta de repositorio.

EDIT (para mayor claridad):

Lo que se quiere hacer es algo como esto:

$ 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 

Tenga en cuenta que no hay ninguna mención de "tronco" hasta que el svn import sucede.

+0

He actualizado la pregunta, lo siento, era un error tipográfico, así que realmente creé el repositorio en/home/me/Desktop/svn_test/trunk –

+2

Ignore las barras invertidas que vio - son para hacer comandos de varias líneas en shell. Su problema sigue siendo que "troncal" no se supone que sea el repositorio, solo un directorio que está * en * el repositorio. Editando mi respuesta para dar una demostración adecuada. – timdev

+0

¡Genial! está funcionando ahora, ¡gracias! Confundí el uso de trunk entre mi directorio de proyecto y el repositorio. –

Cuestiones relacionadas