2008-10-27 7 views
6

Cuando fusiono el tronco en una rama de característica, una eliminación que ocurrió en el tronco no se replicará en mi copia de trabajo.subversión fusionar un comando de eliminación

¿Por qué una eliminación en el troncal no elimina el mismo archivo en una rama cuando se fusiona? Estoy usando subversion 1.5 cliente y servidor.

Supongo que los cambios en el archivo en la rama se omitirán al reintegrar la rama?

Cuál es la mejor manera de canjear el archivo en el enlace troncal, ya que un colega eliminó el archivo del enlace troncal solo porque no estaba "listo".

Situación:

cd project; svn copy trunk branches/f1; svn ci -m "branching out" branches f1; 
echo "modifying a file on branch." >> branches/f1/file1; svn ci branches/f1 -m "Branch modified"; 
echo "Above modify is not even needed to state the case"; 
svn rm trunk/file1; svn ci trunk -m "creating (conflicting) delete on trunk"; 
cd branches/f1; svn merge svn+ssh://repos/trunk . 
[ -f file1 ] && echo "file f1 does exist while it should have been deleted by merge."; 

Por lo tanto, el archivo todavía existe en mi copia de trabajo a pesar de que estoy en la fusión de tronco en el que el archivo se ha eliminado de forma activa. Muy inesperado. En mi caso, ni siquiera hice ningún cambio en el archivo, que es la única razón por la que puedo pensar por qué svn guardará el archivo.

Respuesta

1

Según tengo entendido, lo que has hecho es crear un conflicto local en el archivo1. En su rama, fue modificado. En tu maletero, fue eliminado. Cuando te fusionas, estará en conflicto. Entonces el archivo aún estará alrededor.

I sugieren 2 pruebas:

  1. Después de ejecutar el código anterior, incluyen los resultados de svn status.
  2. Pruebe el mismo código que el anterior, pero sin modificar esa rama en all. (svn status sería útil aquí también.)
0

¿Estás seguro de que el archivo borrado en el tronco está todavía bajo control de versiones después de la fusión? Puede estar sin versión, pero aún presente, que es el comportamiento esperado. Si mira el resultado de svn status, podrá ver si el archivo aún está bajo control de versión.

Es posible que desee echar un vistazo a este informe de error, que explica a fondo la situación: http://subversion.tigris.org/issues/show_bug.cgi?id=2282

Cuestiones relacionadas