Pregunta

¿Hay alguna manera de decirle a Subversion "actualizar/fusionar a menos que cause un conflicto"?

Sé que puedes usar --dry-run / status -u para verificar antes de ejecutar la actualización, pero a menudo tengo otras personas ejecutando actualizaciones y obteniendo páginas web rotas porque no notan la línea "C index.php".

También he notado que svn no parece muy descontento con los conflictos: todavía dice "actualizado a revisión bla" y sale de cero, independientemente de los conflictos.Así que tengo que analizar el resultado línea por línea para descubrirlos.¿Seguramente hay una mejor manera?

¿Fue útil?

Solución

Puede utilizar el parámetro --accept para indicar qué debería suceder cuando ocurre un conflicto:

--accept ARG             : specify automatic conflict resolution action
                          ('postpone', 'base', 'mine-full', 'theirs-full',
                          'edit', 'launch')

Ver también el resolución interactiva de conflictos página en el svnbook

Otros consejos

¿Quizás una mejor manera sea utilizar una herramienta gráfica?¿O escribir un script para realizar la actualización que redirija la salida a un archivo y haga un "cat svnupdate.log | grep "^C "" al final para mostrarle cualquier conflicto?

Con las herramientas gráficas que uso (TortoiseSVN y Netbeans), hacen un ruido desagradable al final y te presentan un cuadro de diálogo de selección de combinación para tratar con ellas.No conozco un equivalente con tanta potencia para las herramientas de línea de comandos.

@jvista:TortoiseSVN es genial, pero desarrollo principalmente en un entorno *NIX, sin X.Por eso normalmente uso (restringido a) la línea de comando.

En relación con su sugerencia de script, en eso estoy trabajando ahora, por eso me molesta no poder simplemente marcar $?.En este momento me estoy saltando la "salida a un archivo" y estoy usando una tubería, pero por lo demás es exactamente lo que usted describe.

Puede usar el parámetro --diff3-cmd para especificar qué herramienta de combinación usar (generalmente diff3 de diffutils).

También puede utilizar una secuencia de comandos previa a la confirmación para buscar marcadores de conflicto en los archivos y evitar la confirmación cuando estén presentes.

Subversion 1.5 (lanzada recientemente) agrega cierta capacidad para especificar qué sucede durante un conflicto de actualización, con el argumento "--accept".

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top