Tengo un directorio de trabajo SVN. Hice algunos cambios en ese directorio, y se muestra en svn status
. Pero, ¿hay alguna forma de eliminar todos mis cambios allí y obtener todo del tronco usando la línea de comando?
195
Tengo un directorio de trabajo SVN. Hice algunos cambios en ese directorio, y se muestra en svn status
. Pero, ¿hay alguna forma de eliminar todos mis cambios allí y obtener todo del tronco usando la línea de comando?
svn revert -R .
svn up
Esto revertirá de manera recursiva el directorio actual y todo lo que contiene y luego se actualizará a la última versión.
Utilicé una combinación de las respuestas de otras personas para llegar a esta solución:
Revertir los cambios locales normales de SVN
Elimine cualquier otro cambio y admite la eliminación de archivos / carpetas con espacios, etc.
No olvides obtener los últimos archivos de SVN
fuente
fuente
svn cleanup . --remove-ignored
Si no tiene cambios, siempre puede ser realmente minucioso y / o perezoso y hacer ...
Pero, en realidad no, ¡ no hagas eso a menos que estés realmente seguro de que la opción de ataque nuclear desde el espacio es lo que quieres! Esto tiene la ventaja de destruir también todos los archivos temporales de construcción, y cosas que SVN ignora.
La solución más correcta es usar el comando revertir:
La -R hace que la subversión se repita y revierta todo dentro y debajo del directorio de trabajo actual.
fuente
svn nuke-from-space
Ninguna de las respuestas aquí fue exactamente lo que quería. Esto es lo que se me ocurrió:
Probado en Linux; puede funcionar en Cygwin, pero depende (creo) de una extensión específica de GNU que permite dividir xargs en
'\0'
lugar de espacios en blanco.La ventaja del comando anterior es que no requiere ninguna actividad de red para restablecer el entorno limitado. Obtiene exactamente lo que tenía antes y pierde todos sus cambios . (descargo de responsabilidad antes de que alguien me culpe por este código que destruye su trabajo) ;-)
Utilizo este script en un sistema de integración continua donde quiero asegurarme de que se realiza una compilación limpia después de ejecutar algunas pruebas.
Editar : no estoy seguro de que esto funcione con todas las versiones de Subversion. No está claro si el
svn status
comando siempre tiene un formato consistente. Úselo bajo su propio riesgo, como con cualquier comando que use dichorm
comando general .fuente
svn revert deshará los cambios locales que haya realizado
fuente
Puede usar el siguiente comando para revertir todos los cambios locales:
fuente
Eliminará cualquier archivo que haya sido modificado. Me parece recordar que tuve problemas con la reversión cuando se agregaron archivos y directorios.
fuente
svn revertir
fuente
Si está en Windows, el siguiente bucle for revertirá todos los cambios no confirmados realizados en su espacio de trabajo:
Si desea eliminar todos los cambios no confirmados y todos los objetos no versionados, necesitará 2 bucles:
fuente