2009-03-05 8 views
38

Estoy usando Subversion 1.5 y tengo un único archivo en una rama que deseo fusionar en otra rama. Cuando hago un svn merge http://path/to/file obtengo un error,Fusión de archivo único en Subversion

No se puede reemplazar un directorio con.

¿Esto significa que Subversion no puede hacer esto?

Respuesta

-32

Creo que lo mejor es una copia de svn de una rama a la otra.

+0

¡Ah! Copiar tiene sentido. Y usar copy no causará ningún problema cuando haga una fusión completa de las ramas más tarde? – timdisney

+0

Es mucho más claro fusionar la adición (y posibles revisiones hasta ahora) con el archivo –

+8

hmm, no creo que sea la respuesta correcta: no tiene ningún sentido. En realidad más dañino que bueno. Fue justo evaluarlo (quien lo hizo). Mira el de Andrew a continuación. – inger

0

creo que tiene que hacer un

svn merge http://server/repos/path/to -r <REV> 

donde < REV> es la revisión se ha añadido el archivo. De esta forma, se registra la información de fusión (en el caso de un repositorio Subversion 1.5 o superior).

63

Trate de especificar también la ruta al archivo local.

Por ejemplo,

svn merge -r1234:1235 svn://your_svn_url/to/file ./local_file 
+0

He oído que la fusión con SVN 1.5 y versiones anteriores es muy diferente, pero esta también fue una respuesta muy útil para fusionarse con SVN 1.6. –

+0

¿Qué sucede si se trata de un archivo nuevo, por lo que no puede pasar "./local_file"? –

0

La fusión, como se recomienda que Andrew, que funcionó para mí, pero no para cada archivo. Tenía tres archivos, pero en el tercero recibí el error "... ruta no encontrada". Agregar el argumento "--ignore-ancestry" resolvió ese problema.

Pero después de la fusión tuve un extraño estado de archivo modificado/fusionado y una gran cantidad de svn:mergeinfo agregado a mi copia de trabajo.

Así que decidimos a hacer un simple copiar y pegar & para archivos individuales para evitar tales cosas confuso hasta que nos cambiamos a Git, donde estas tareas son realmente ningún problema en absoluto;)

2

Im estoy usando la subversión 1.8.8 y

svn merge ^/trunk/path_to_file ./branch/path_to_local_file 

funciona bien para mí.

Cuestiones relacionadas