Configurar TortoiseMergetiene como herramienta de combinación externa para SVN?
-
23-09-2019 - |
Pregunta
¿Es posible configurar TortoiseMerge (viene con TortoiseSVN) para ser la herramienta de fusión externo que aparece cuando se produce algún conflicto de combinación con el "svn merge" de comandos? He intentado fijar mi variable de entorno "SVN_MERGE" a punto de TortoiseMerge.exe, pero esto no parece ser suficiente. TortoiseMerge solo aparece cuando elijo "L" (para lanzar una herramienta externa) me pregunta qué archivos que desea combinar. Quiero que esta información se introduce en la herramienta de forma automática.
¿Alguna idea?
Solución
No sé qué versión de Subversion que está utilizando, así que voy a tratar de hacer referencia a la información en la versión más reciente del Subversion documentación , de 1,6. (Añaden en esa página que "si marcador o enlace a secciones específicas, los enlaces pueden ser invalidadas por el continuo desarrollo." Pero no hay una versión estable para 1.6.)
En primer lugar, la malas noticias :
Para usar una herramienta de combinación, es necesario o bien establecer el entorno SVN_MERGE variable o definir la fusión-herramienta-cmd opción en su subversión archivo de configuración (consulte la sección denominado “Opciones de configuración” para más detalles). Subversión pasará cuatro argumentos a la herramienta de combinación: las revisión BASE del archivo, el revisión del archivo recibido de la servidor como parte de la actualización, la copia del archivo que contiene su localidad ediciones, y la copia combinada del archivo (Que contiene marcadores de conflicto). Si su herramienta de combinación está a la espera argumentos en un orden o formato diferente, se le tiene que escribir un guión envoltorio para Para invocar la subversión.
El ligeramente mejor noticia es que Subversion ha anticipado a su pregunta, un tanto. Vea la sección Uso Diferenciación externa y herramientas Combinar ; hay plantillas de envoltorios externos herramienta de combinación.
En su caso específico, la documentación TortoiseMergetiene un apéndice que explica cómo utilizar desde la línea de comandos. Los interruptores son esenciales /base
, /mine
y /theirs
, pero es posible que desee usar más (que está escribiendo su propio guión envoltorio, después de todo). TortoiseMerge también permite una "forma simplificada" del comando:
TortoiseMerge BaseFilePath MyFilePath TheirFilePath
La forma de comunicar los resultados de su posterior fusión a Subversion es escribiendo el archivo combinado a la salida estándar y devolver un valor apropiado. Esta información se coloca prominente en las plantillas de envoltura en el manual de Subversion.
Otros consejos
Crear un script murciélago que es similar al siguiente:
"c:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe" /base:"%1" /theirs:"%2" /mine:"%3" /merged:"%4"
A continuación, establezca la variable de entorno SVN_MERGE a ese guión bate:
set SVN_MERGE=c:\bin\svnmerge.bat