2011-08-06 18 views
20

Cuando lo hice svn update y SVN me preguntó acerca de algunas diferencias, le dije que las pospusiera.Actualización SVN Posponer -> ¿Cómo resolver?

Ahora me gustaría resolverlos, pero svn update me dice "actualizado", aunque svn diff me muestra las diferencias.

¿Cómo puedo hacer que svn update me pregunte sobre los conflictos otra vez?

+0

¿Qué pasa con 'svn status'? 'svn update' no debería generar nada mientras no se agregue nada al repositorio central – zerkms

+0

¿qué muestra' svn status'? ¿Algo sobre listas de cambio? –

+0

@zerkms: 'svn status' muestra muchos archivos con'? 'Al frente, así como algunos archivos' M' y 'C' (no estoy seguro de lo que significan). – Mehrdad

Respuesta

16

svn update no volverá a preguntar sobre los conflictos porque se ha ocupado de ellos.

En cuanto al significado de svn status, ? Los archivos no son administrados por SVN, los M cuáles han sido modificados, y los C cuáles son los más conflictivos que se pospuso. Si abre uno de los archivos C y lo revisa, verá marcadores en su código que le muestran dónde están los conflictos. Debe editar cada uno de estos, solucionar los conflictos y eliminar los marcadores. Y luego necesita ejecutar svn resolve para decirle a SVN que todo está bien. Asegúrese de utilizar la opción --help y Google para saber cómo funciona svn resolve antes de ejecutarlo.

Si no hace todo esto, svn commit ya no funcionará.

svn status es realmente importante de entender, porque svn diff solo muestra cosas que ocurrieron localmente después de svn update. Pero, svn status -u da una visión general después de consultar el repositorio. Lo más importante es que identifica claramente los archivos con conflictos (C en la columna 1) que debe abrir en un editor y verificar manualmente.

+27

Su respuesta es útil, pero su tono es bastante grosero. Tengo un problema similar al del póster original (pospuse algunos cambios después de 'svn merge'), ¡y esta SO fue el primer resultado en Google! – knite

+1

Corrección: el estado svn solo irá al repositorio si especifica '-u'; de lo contrario, solo mira los archivos en los directorios .svn – ahawtho

6

Cuando ejecuta svn commit, tendrá una lista de los archivos en conflicto. A continuación, puede resolver los conflictos mediante la emisión de comandos como:

svn resolve --accept=theirs-full '/path/to/the/file' 

Tipo svn resolve --help para obtener una lista de los modos de resolución de conflictos disponibles.

Cuestiones relacionadas