2011-05-10 14 views
6

así que solía pensar que era medio decente con SVN, pero este problema en particular me frustra ...`svn merge` produce resultados diferentes que` diff` SVN

Tengo una rama tema donde He agregado algunos archivos e hice una pequeña modificación. Fundí todos los cambios del tronco que ocurrieron desde el momento en que mi rama de tema se cortó hasta la cabeza a través de:

svn merge ^/[email protected] ^/[email protected] con la rama como mi copia de trabajo.

que confirmar esos cambios a la rama y ahora la diferencia entre mi rama y el tronco se ve algo así como esto:

> svn diff ^/trunk ^/branches/KULRICE-5050 --summarize 
D  https://test.kuali.org/svn/rice/trunk/impl/src/main/groovy/org/kuali/rice/kim/impl/attribute/KimAttributeDataBo.groovy 
M  https://test.kuali.org/svn/rice/trunk/kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RolePermissionBoTest.groovy 
A  https://test.kuali.org/svn/rice/trunk/kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleResponsibilityActionBoTest.groovy 
A  https://test.kuali.org/svn/rice/trunk/kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleBoTest.groovy 
... 

En otras palabras, no hay nada que no me esperaba. Estos son los archivos que he cambiado en mi rama.

que luego tratar de fusionar la rama en el tronco a través de:

svn merge ^/trunk ^/branches/KULRICE-5050 con el tronco como mi copia de trabajo. En lugar de tener los archivos modificados que diff --summarize mostraron termino de ver lo siguiente:

> svn merge ^/trunk ^/branches/KULRICE-5050 
--- Merging differences between repository URLs into '.': 
D impl/src/main/groovy/org/kuali/rice/kim/impl/attribute/KimAttributeDataBo.groovy 
U kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RolePermissionBoTest.groovy 
Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleResponsibilityActionBoTest.groovy' 
Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleBoTest.groovy' 
Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleResponsibilityBoTest.groovy' 
Skipped 'kim/kim-impl/src/test/groovy/org/kuali/rice/kim/impl/role/RoleMemberBoTest.groovy' 
A kim/kim-impl/src/main/java/org/kuali/rice/kim/impl/role 
... 
... 
Skipped 'kim/kim-api/src/main/java/org/kuali/rice/kim/api/role/RoleResponsibilityActionContract.java' 
Summary of conflicts: 
    Skipped paths: 38 
--- Merging r20279 through r20321 into '.': 
... 
... 
Summary of conflicts: 
    Tree conflicts: 171 
    Skipped paths: 33 
--- Reverse-merging r20321 through r20279 into '.': 
... 

El ... anteriores indican lugares en los que he dejado los detalles. Es solo un montón de actualizaciones y conflictos de archivos que no deberían estar cerca de mi conjunto de cambios.

Por qué en la tierra se fusiona en este caso tratando de aplicar una combinación y fusión inversa en diferentes rangos de revisión cuando todo lo que he especificado es 'dame la diferencia entre el tronco y la rama y fusiona eso en mi tronco WC' ? No debería hacer nada con rangos de revisión. ¿Tiene alguna idea de por qué está sucediendo esto y qué debo modificar en mis comandos svn para corregirlo?

Mi cliente svn es svn, versión 1.6.15 (r1038135) y el servidor svn es 1.4.5 (r25188). La versión del servidor está fuera de mi control, de ahí el estilo más antiguo de fusión en lugar de usar el seguimiento de combinación de svn.

Respuesta

5

Tal vez fue "Rubber Ducking" en el trabajo, pero la respuesta aquí es que tengo que especificar --ignore-ancestry a mi comando de fusión. De lo contrario, el cliente 1.6 svn intenta, implícitamente, fusionarse con el seguimiento de fusión en mi nombre a pesar de que el servidor sigue siendo 1.4 y no admite el seguimiento de fusión.

+1

Gracias. EXACTAMENTE el mismo escenario con el que estoy trabajando. Extraño '--reintegrate' – FlipMcF

Cuestiones relacionadas