trabajando subversion sirve revertir que para funciona español con como comandos cambios arquitectura abrir svn revert

subversion - Revertir un solo archivo en SVN a una revisión en particular



tortoisesvn español (11)

Tengo un archivo como se muestra a continuación en un repositorio SVN que me gustaría volver a una versión anterior. ¿Cuál es la manera de hacer esto en SVN? Solo quiero degradar este archivo en particular a una versión anterior, no a todo el repositorio.

Gracias.

$ svn log myfile.py ---------------------- r179 | xx | 2010-05-10 Change 3 ---------------------- r175 | xx | 2010-05-08 Change 2 ---------------------- r174 | xx | 2010-05-04 Initial


Descubrí que es simple hacerlo a través del comando svn cat para que no tenga que especificar una revisión.

svn cat mydir/myfile > mydir/myfile

Esto probablemente no respaldará los datos de inodos (metadatos) tales como las marcas de tiempo.


Hasta ahora, todas las respuestas aquí parecen tener desventajas significativas, son complicadas (necesitan encontrar el URI del repositorio) o no hacen lo que la pregunta probablemente se haya formulado: cómo volver a poner en funcionamiento el Repo con esa versión anterior del archivo .

svn merge -r head:[revision-number-to-revert-to] [file-path] es IMO la forma más limpia y simple de hacer esto. Tenga en cuenta que traer de vuelta un archivo eliminado no parece funcionar de esta manera [1]. Consulte también la siguiente pregunta: ¿ Mejor forma de volver a una revisión SVN anterior de un archivo?

[1] Para eso quieres svn cp -r [rev-number] [repo-URI/file-path]@[rev-number] [repo-URI/file-path] && svn up , ver también What is the correct forma de restaurar un archivo eliminado de SVN?


La mejor manera es:

svn merge -c -RevisionToUndo ^/trunk

Esto deshará todos los archivos de la revisión que simplemente revertirá esos archivos que no desea deshacer. No olvides el guion ( - ) como prefijo para la revisión.

svn revert File1 File2

Ahora confirma los cambios.


Para un solo archivo, puede hacer:

svn export -r <REV> svn://host/path/to/file/on/repos file.ext

Puedes hacer svn revert <file> pero eso solo restaurará la última copia de trabajo.


Quieres hacer

svn merge -r [revision to revert from]:[revision to revert to] [path/filename]

Una vez que haga eso, tendrá esa revisión del archivo en un estado comprometible. Confirmar el archivo



Si solo se trata de un par de archivos, y si está utilizando Tortoise SVN, puede usar el siguiente enfoque:

  1. Haga clic derecho en su archivo fuente y seleccione "TortoiseSVN" -> "Mostrar registro".
  2. Haga clic derecho en una revisión en el registro, y seleccione "Guardar revisión en ...".
  3. Permita que la revisión anterior sobrescriba su archivo actual.
  4. Confirme el archivo fuente sobrescrito.

Solo agregué a @Mitch Dempsy la respuesta ya que todavía no tengo suficientes representantes para comentar.

svn export -r <REV> svn://host/path/to/file/on/repos --force

Al agregar la opción --force sobrescribirá la copia local con la exportación y luego puede hacer una confirmación svn para enviarla al repositorio.


sorprendido, nadie mencionó esto

sin averiguar el número de revisión podría escribir esto, si acaba de comprometer algo que desea revertir, esto no funcionará si cambió algún otro archivo y el archivo de destino no es el último archivo cambiado

svn merge -r PREV:HEAD file


svn cat toma una revisión arg también!

svn cat -r 175 mydir/myfile > mydir/myfile


svn revert filename

esto debería revertir un solo archivo.