svn - visual - La reintegración solo se puede usar si las revisiones X a Y se fusionaron previamente de<URL> para reintegrar la fuente, pero este no es el caso
tortoisesvn mac (8)
Sido usando ramas SVN con Tortoise 1.6. He estado fusionando periódicamente el tronco en la rama para mantenerlo actualizado.
Hoy, pensé en reintegrar la rama. Elegí "Reintegrar una sucursal" de Tortoise y recibí el siguiente mensaje de error:
La reintegración solo se puede usar si las revisiones 4709 a 5019 se fusionaron previamente de http://subversion/svn/saxdev/trunk
a la fuente de reintegración, pero este no es el caso
A continuación, enumeró alrededor de 50 archivos con descripciones como esta:
Error: branches/qst/kobalt/sax/businessobjects/util/HistoryParent.java
Error: Missing ranges: /trunk/kobalt/sax/businessobjects/util/HistoryParent.java:4709-5018
La revisión 5019 es la revisión de la cabeza. La revisión 4737 fue la revisión cuando creé una rama.
Lo tengo del registro para la revisión 4737
Acción: Ruta agregada: / branches / qst Copiar de la ruta: / trunk
Para mí, ese mensaje de error dice que la rama no era originalmente del tronco, lo cual no es cierto.
¿Algunas ideas?
En realidad lo arreglé usando la opción "fusionar dos ramas diferentes" para fusionar el tronco y la rama en mi copia de trabajo. Luego lo comprometí con el baúl.
Maravilloso
Me encontré con este problema. Hice un registro de SVN en mi rama para encontrar si había fusionado el tronco a mi sucursal.
Noté todas las revisiones.
Luego hice la fusión de mi rama al tronco especificando las revisiones manualmente. Especifiqué todos los rangos para excluir las revisiones si fusioné el enlace troncal. Me las arreglé para fusionar mi rama.
Tuve que revertir en mergeinfo, pero obtuve mi código fusionado.
Inmediatamente borré mi rama.
Si está trabajando en una sucursal y la ha estado actualizando con otras personas, es posible que se quede perplejo al crear una copia de trabajo de la troncal e intente reintegrarla si recibe un mensaje como este:
$ svn merge --reintegrate https://server.blah/source/orb/branches/bronze_services
svn: Reintegrate can only be used if revisions 650 through 694 were previously merged from
https://server.blah/source/orb/trunk to the reintegrate source, but this is not the
case:
branches/bronze_services/occl
Missing ranges: /trunk/occl:650-693
He visto una serie de soluciones en Google, pero me pusieron nervioso como ''hacks''. Para abordarlo, decidí hacer exactamente lo que la subversión insinúa en el mensaje. Volví a mi sucursal y fusioné explícitamente las revisiones especificadas:
$ svn merge -r 650:693 https://server.blah/source/orb/trunk
$ svn commit -m ''merged revisions 650:693 from trunk''
Sending occl
Committed revision 695.
Una vez que hice esto, pude volver a la copia de trabajo del maletero y reintegrar la rama sin ningún problema.
espero que esto ayude
Si intenta reinsertar su bifurcación en el enlace troncal y ve errores como este en TortoiseSVN:
Haga clic en el texto de error y presione CTRL + A , CTRL + C para copiar todo el texto.
Pegue el texto en la cadena aquí de este script de PowerShell:
@"
Command: Reintegrate merge http://svn.cloudcorp.com/branches/myproject into C:/Users/iain/Documents/Repositories/CloudCorp/trunk
Error: Reintegrate can only be used if revisions 18089 through 18612 were previously
Error: merged from http://svn.corp.skyscanner.local/svn/SkyScannerDatabase/trunk to
Error: the reintegrate source, but this is not the case:
Error:
Error: branches/myproject/userdata/usermanagementservice
Error:
Error: Missing ranges:
Error: /trunk/userdata/usermanagementservice:18365,18404
Error:
Error: branches/myproject/userdata/auto_create_db.sql
Error:
Error: Missing ranges:
Error: /trunk/userdata/auto_create_db.sql:18406
Error:
Error:
Error: branches/myproject/userdata/create_audit_tables_triggers_uds.sql
Error:
Error: Missing ranges:
Error: /trunk/userdata/create_audit_tables_triggers_uds.sql:18406
"@ -split "`n" |
? { $_ -match (''Error: +branches'') } |
% { $_.Substring($_.IndexOf(''userdata'')) } |
% { "svn propdel svn:mergeinfo $_" }
El script extrae las rutas relativas de los archivos con problem mergeinfo y genera una lista de comandos para corregir cada uno.
Puede que tenga que cambiar el valor de ''userdata''
para adaptarse a la estructura de su repositorio.
Ejecute la secuencia de comandos para generar los comandos que necesita para eliminar el problema mergeinfos.
En este ejemplo, el script produciría esta salida:
svn propdel svn:mergeinfo userdata/usermanagementservice
svn propdel svn:mergeinfo userdata/auto_create_db.sql
svn propdel svn:mergeinfo userdata/create_audit_tables_triggers_uds.sql
En el símbolo del sistema, puede navegar a la base de bifurcación (myproject) y ejecutar los comandos para eliminar el problema mergeinfos.
Deberías ver un resultado como este:
property ''svn:mergeinfo'' deleted from ''userdata/usermanagementservice''.
property ''svn:mergeinfo'' deleted from ''userdata/auto_create_db.sql''.
property ''svn:mergeinfo'' deleted from ''userdata/create_audit_tables_triggers_uds.sql''.
Al igual que en la respuesta de Gray , ahora debes enviar los cambios a la rama y tratar de reintegrarte nuevamente. ¡Esta vez debería funcionar!
Solo haz lo que SVN te está diciendo.
- Combina la rama de la reversión que SVN te está diciendo
- Reintegrar de la rama al tronco
Ver también mi respuesta here para mi experiencia con un caso similar. No estoy seguro de si este es el origen de su problema, pero parece que Subversion 1.8 tiene problemas con mergeinfo cuando dos cambios se cancelan entre sí.
[[Aunque mi solución me ha funcionado en el pasado, puede llevar a resultados incorrectos con clientes SVN modernos. En nuestro caso, los errores de fusión parecían ser subproductos de automatizaciones que confundían nuestro historial de SVN y no la actividad real. Lo dejo aquí para la posteridad, pero considere la respuesta aceptada. ]]
La solución para mí fue eliminar cualquier propiedad de svn:mergeinfo
que de alguna manera se adjuntara a archivos individuales en la jerarquía.
svn merge --reintegrate svn+ssh://svn/usr/local/svn/repos/all/trunk
svn: Reintegrate can only be used if revisions 18765 through 18921 were
previously merged from svn+ssh://svn/usr/local/svn/repos/all/trunk to the
reintegrate source, but this is not the case:
trunk/proj/src/main/java/com/foo/furniture.java
Missing ranges: /trunk/proj/src/main/java/com/foo/furniture.java:18765-18920
Para buscar los archivos con información mergeinfo, puede hacer:
cd ~/svn/branches/2.7
svn propget -R svn:mergeinfo .
Luego puede eliminar las propiedades de mergeinfo:
svn propdel svn:mergeinfo proj/src/main/java/com/foo/furniture.java ...
svn commit -m ''removed mergeinfo'' proj/src/main/java/com/foo/furniture.java ...
Después de completar esto, mi fusión ejecutó bien.