update two tortoise from branches svn merge branch trunk svn-reintegrate

svn - two - Mensaje de error de rangos faltantes al reintegrar una rama en un tronco en Subversion 1.5



tortoise svn branch to trunk (5)

Estoy tratando de reintegrar una rama de desarrollo en el tronco en mi repositorio Subversion 1.5. Antes de esta operación, fusioné todos los cambios del troncal a la rama de desarrollo. Ahora, cuando intento reintegrar los cambios de la rama, aparece el siguiente mensaje de error:

Command: Reintegrate merge https://dev/svn/branches/devel into C:/trunk Error: Reintegrate can only be used if revisions 280 through 325 were previously Error: merged from https://dev/svn/trunk to the reintegrate Error: source, but this is not the case: Error: branches/devel/images/test Error: Missing ranges: /trunk/images/test:280-324 ...

El mensaje luego continúa quejándose de algunas carpetas en mi proyecto. Pero cuando trato de fusionar los cambios del tronco a la rama de desarrollo nuevamente, TortoiseSVN me dice que no hay nada que fusionar (como ya he fusionado todos los cambios antes):

Command: Merging revisions 1-HEAD of https://dev/svn/trunk into C:/devel, respecting ancestry Completed: C:/devel

Estoy tratando de seguir las instrucciones desde aquí: http://svnbook.red-bean.com/en/1.5/svn.branchmerge.basicmerging.html , pero no hay nada sobre cómo resolver este problema.

¿Algunas ideas? ¿Quizás debería simplemente eliminar el tronco y luego hacer una copia de mi sucursal? Pero no estoy realmente seguro de si es seguro.

Ver también

svn fusionarse con --reintegrate se queja de los rangos faltantes, pero mergeinfo parece correcto


Acabo de tener este problema y lo que funcionó para mí fue, en primer lugar, sincronizar la rama con el troncal, para que la rama pueda tener las últimas actualizaciones del tronco. Después de esto, traté de reintegrar la rama al tronco y funcioné bien.


Dejé de tener estos problemas cuando comencé a usar la opción -r para el comando svn merge y no intenté hacer el --reintegrate hasta después de que me hubiera fusionado sin él. Estoy usando svn 1.6.1.

Esto es lo que hago:
1. Cuando me fusiono de rama a tronco o de tronco a rama, uso la opción -r de esta manera:

cd branchWorkArea/topDir svn merge -r<branchPoint>:HEAD [otheroptions] svn://svn/project/trunk/topDir

  1. cuando he resuelto cualquier conflicto y pruebo mi código, confío la combinación a la rama y luego la fusiono a la troncal usando las mismas opciones básicas (especialmente -rBranchPoint: HEAD)

  2. cuando el tronco ha sido probado y comprometido, luego uso la opción --reintegrar para cerrar la rama. Asegúrese de usar la opción -rbranchPoint: HEAD en él también.

Para otras opciones, siempre uso

--de infinito infinito (por defecto es infinito en 1.6.2 pero no antes)
-x -b -x -w --ignore-eol-style

Tal vez, he tenido suerte, pero las cosas parecen funcionar mejor.

Para encontrar el punto de ramificación de una rama, haga un registro svn --stop-on-copy y luego observe la última versión - será la copia svn la que haya creado la rama.

Para hacer esto en Linux, hago algo como esto:

svn log --stop-on-copy svn: // svn / project / trunk / topDir |
grep ''^ r'' | cola -1 | sed -e ''s / ^ r // 1''-e'' s /. * // g ''

Esto debería imprimir el número de revisión del punto de bifurcación.

Buena suerte


Luchamos con este problema durante algunas semanas y finalmente lo resolvimos.

En nuestro caso, trabajamos en una sucursal que se fusionó con todas las revisiones de troncales diariamente. Cuando intentamos reintegrarlo (fusionar de nuevo al tronco) obtuvimos este error. Cuando intentamos combinar los rangos faltantes en nuestra sucursal, recibimos el mensaje de que no hay nada que fusionar. Ocurrió en varias ramas no relacionadas y con diferentes archivos y carpetas.

La solución fue agregar los rangos faltantes a la propiedad svn: mergeinfo del archivo o carpeta en nuestra sucursal.

Para cada línea de "Rangos que faltan: ruta: rango de revisión" en el mensaje que recibió:

  • Edite la propiedad svn: mergeinfo en el archivo / carpeta mencionado en la rama combinada
  • Agregue lo siguiente: cadena al final del valor de la propiedad (por ejemplo, / trunk / images / test: 280-324)
  • Guardar la propiedad SVN

Compromete todos los cambios y reintegrate de nuevo.


Primero debe combinar las revisiones r280 a r324 desde el tronco a su rama.

Parece que ya ha fusionado r325 en su sucursal, sin embargo, reintegrar debe obtener todas las revisiones hasta su última revisión fusionada. No debe haber brecha. Así que aquí un poco Diag:

+----------------------> /branches/devel / / /<--merge not working! --------/-------+--+---+-----+---------> trunk | / | / | 280 / V / 325 V missing sync merges from trunk to branch

Creo que esta es la estructura de su rama, por lo que necesita sincronizar todos los cambios del tronco a su rama. Solo fusionaste r325, así que simplemente fusiona r280-r324 y después de hacer esto deberías usar --reintegrate


Tuve este problema, y ​​fue causado en última instancia por las propiedades SVN erróneas contra una carpeta en mi sucursal.

La solución fue fácil: fusioné desde el troncal a mi sucursal utilizando el número de revisión específico que se había reportado como faltante, por ejemplo

Y luego especificando solo grabar la fusión por ejemplo

Esta acción hizo que mi rama se alineara correctamente con el tronco y mi posterior reintegración de rama en el tronco funcionó correctamente, sin el mensaje de error de rangos faltantes.

Esta técnica evitó cualquier edición manual de cualquier propiedad svn: mergeinfo contra cualquier archivo / carpeta.