visual tutorial tortoise mac español svn tortoisesvn

svn - tutorial - Actualizar elemento a revisión frente a revertir a revisión



tortoisesvn windows 10 (6)

Empecé a usar Subversion con TortoiseSVN. Si abro el registro y hago clic derecho en una revisión anterior, veo dos opciones que parecen regresar a una versión anterior: "Actualizar elemento a revisión" y "Volver a esta revisión".

Entiendo que la actualización a una revisión anterior se usa cuando solo quiere mirar hacia atrás en una versión anterior pero realmente no cambiar el repositorio. Revertir es cuando realmente se equivocó y quiere que la última revisión en el repositorio sea la misma que en una versión anterior.

Entonces, digamos que la revisión HEAD es 100 y vuelvo a 95. Revertirá la fusión de mi copia de trabajo a 95. Entonces, ¿puedo corregir ese cambio en el repositorio que crearía la revisión 101 correcta? ¿Cómo es eso diferente si tuviera que actualizar a la revisión 95? ¿Todavía no revierte los cambios de las últimas revisiones? Estoy confundido sobre cómo difiere el estado de mi copia de trabajo después de una reversión o actualización a una revisión anterior.



Actualice su copia de trabajo a la revisión seleccionada. Es útil si desea que su copia de trabajo refleje un momento anterior, o si ha habido más confirmaciones en el repositorio y desea actualizar su copia de trabajo paso a paso. Lo mejor es actualizar un directorio completo en su copia de trabajo, no solo un archivo, de lo contrario su copia de trabajo podría ser inconsistente. Esto se usa para probar un propósito de rev específico, si su prueba lo ha hecho, puede usar este comando para probar otra rev o usar SVN Update para obtener HEAD

Si desea deshacer un cambio anterior permanentemente, use Revertir a esta revisión en su lugar.

- de TSVN help doc

Si actualiza su copia de trabajo a una versión anterior, esto solo afecta a su propia copia de trabajo, después de hacer algún cambio, y desea confirmar, fallará, TSVN le avisará que actualice su WC a la última revisión primero Si revierte a un rev, puede comprometerse con el repositorio. Todos volverán a la revisión después de que hagan una actualización.


El texto de la referencia de Tortoise:

Actualizar elemento a revisión Actualice su copia de trabajo a la revisión seleccionada. Es útil si desea que su copia de trabajo refleje un momento anterior, o si ha habido más confirmaciones en el repositorio y desea actualizar su copia de trabajo paso a paso. Lo mejor es actualizar un directorio completo en su copia de trabajo, no solo un archivo, de lo contrario su copia de trabajo podría ser inconsistente.

Si desea deshacer un cambio anterior permanentemente, use Revertir a esta revisión en su lugar.

Vuelva a esta revisión Vuelva a una revisión anterior. Si ha realizado varios cambios y luego decide que realmente quiere volver a ver cómo estaban las cosas en la revisión N, este es el comando que necesita. Los cambios se deshacen en su copia de trabajo por lo que esta operación no afecta el repositorio hasta que no haya confirmado los cambios. Tenga en cuenta que esto deshará todos los cambios realizados después de la revisión seleccionada, reemplazando el archivo / carpeta con la versión anterior.

Si su copia de trabajo está en un estado no modificado, después de realizar esta acción, su copia de trabajo se mostrará como modificada. Si ya tiene cambios locales, este comando fusionará los cambios de deshacer en su copia de trabajo.

Lo que sucede internamente es que Subversion realiza una combinación inversa de todos los cambios realizados después de la revisión seleccionada, deshaciendo el efecto de esas confirmaciones previas.

Si después de realizar esta acción decide que desea deshacer el deshacer y recuperar su copia de trabajo a su estado anterior no modificado, debe usar TortoiseSVN → Revertir desde Windows Explorer, que descartará las modificaciones locales realizadas por esta acción de fusión inversa.

Si simplemente desea ver cómo era el archivo o la carpeta en una revisión anterior, use Actualizar a revisión o Guardar revisión como ... en su lugar.


Los archivos en su copia de trabajo pueden tener el mismo aspecto , pero siguen siendo acciones muy diferentes: el repositorio está en un estado completamente diferente, y tendrá opciones diferentes disponibles después de revertirlas que "actualizando" a una revisión anterior. .

En resumen, "actualizar a" solo afecta su copia de trabajo, pero "fusión inversa y compromiso" afectará el repositorio.

Si "actualiza" una revisión anterior, entonces el repositorio no ha cambiado: en su ejemplo, la revisión HEAD sigue siendo 100. No tiene que comprometer nada, ya que solo está jugando con su copia de trabajo. Si realiza modificaciones en su copia de trabajo y trata de confirmar, se le informará que su copia de trabajo está desactualizada y deberá actualizar antes de poder comprometerse. Si alguien más que trabaja en el mismo repositorio realiza una "actualización", o si saca una segunda copia de trabajo, será r100.

Sin embargo, si "revierte la fusión" a una revisión anterior, entonces su copia de trabajo aún se basa en HEAD (suponiendo que esté actualizado), pero está creando una nueva revisión para reemplazar los cambios no deseados. Debe confirmar estos cambios, ya que está cambiando el repositorio. Una vez hecho esto, cualquier actualización o nueva copia de trabajo basada en HEAD mostrará r101, con los contenidos que acaba de confirmar.


Para comprender cómo el estado de su copia de trabajo es diferente en ambos escenarios, debe comprender el concepto de la revisión BASE :

BASE

El número de revisión de un artículo en una copia de trabajo. Si el artículo ha sido modificado localmente, esto se refiere a la forma en que aparece el elemento sin esas modificaciones locales.

Su copia de trabajo contiene una instantánea de cada archivo (oculto en una carpeta .svn) en esta revisión BASE, es decir, como lo fue cuando se recuperó por última vez del repositorio . Esto explica por qué las copias de trabajo ocupan 2 veces el espacio y cómo es posible que pueda examinar e incluso revertir las modificaciones locales sin una conexión de red.

Actualizar el elemento a Revisión cambia esta revisión base, lo que hace que BASE esté desactualizado. Cuando intente realizar modificaciones locales, SVN notará que su BASE no coincide con el HEAD del repositorio. La confirmación será rechazada hasta que realice una actualización (y posiblemente una combinación) para solucionar esto.

Revertir a revisión no cambia BASE. Conceptualmente es casi lo mismo que editar manualmente el archivo para que coincida con una revisión anterior.


La actualización a la revisión solo actualizará los archivos de su documento de trabajo a su revisión elegida. Pero no puede continuar trabajando en esta revisión, ya que SVN se quejará de que su copia de trabajo está desactualizada .

volver a esta revisión deshará todos los cambios en su copia de trabajo que se hicieron después de la revisión seleccionada (en su ejemplo rev 96,97,98,99,100) Su copia de trabajo ahora está en estado modificado .

El contenido del archivo de ambos escenarios es el mismo, sin embargo, en el primer caso tiene una copia de trabajo sin modificar y no puede confirmar sus cambios (ya que su documento de trabajo no apunta a HEAD rev 100). En el segundo caso, tiene una copia de trabajo modificada apuntando a la cabeza puedes continuar trabajando y comprometiéndote