¿Cómo ahorrar Diff para reutilizar más tarde, la característica similar a las estanterías en TFS?

StackOverflow https://stackoverflow.com/questions/6374655

Pregunta

Hago algunos cambios en un archivo, pero me doy cuenta de que necesito modificarlo de otra manera; esto requiere que guarde temporalmente mis cambios actuales en otro lugar y lo aplique más tarde. ¿Cómo puedo hacer esto en la herramienta SVN/subversión, por ejemplo, Tortoisesvn?

La característica que menciono es muy similar a hacer shelveset y desaprobarlo en TFS.

Por favor, ayude si sabe cómo hacerlo. ¡Gracias!

¿Fue útil?

Solución

La respuesta de Antonyw funciona, pero puede ser exagerada, ¡especialmente si tienes mucho código!

No estoy familiarizado con TFS ' shelveset Pero SVN te da el svn diff Ordene hacer justo lo que está buscando: hacer una diferencia y guardarlo para que pueda aplicarlo más tarde. Sólo toma svn diffSalida y guárdelo en un archivo .patch o .diff.

svn diff myfile > myfile.patch

Ya que estás usando tortoisesvn, Esto es aún más fácil de hacer.

Otros consejos

También puede crear rama con sus cambios. Podría ser incluso mejor que almacenar diff en el disco.


Editar: ¿Entonces tiene diferentes tipos de cambios en la copia de trabajo? ¿Archivos que desea conservar y archivos que desea guardar en DIFF? En este caso, tal vez crear un parche de TortoisSVN es mejor.

Pero si desea poner en el parche todos los cambios de la copia de trabajo, es mejor en mi opinión para crear rama. Esto es realmente fácil en tortuga:

  1. Cree rama/etiqueta y marque la copia de trabajo como fuente de rama (no verifique para cambiar a una nueva rama).
  2. Después de que la tortuga crea la rama revertir todos los cambios locales
  3. Haz tu otro cambio
  4. Comprometerse con la troncal
  5. Cambiar a la rama y fusionar los cambios de la troncal
  6. Reintegrar la rama al tronco

Para shure funciona para mí la mayor parte del tiempo, los parches son buenos para la revisión del código, no para crear herramientas locales de cambios no terminados;)

Con respecto a las respuestas anteriores que se dan, yo (personalmente) no estoy de acuerdo con ellas (a granel, etc.). En cuanto a mí (y yo también lo estoy usando), esta es una de las buenas características que actualmente es compatible solo por Team Foundation y puede usarse en una red. Esto ayuda mucho en la siguiente situación:

  1. Primero y lo más destacado es que puede tener una revisión de otra persona sin tener un código (e incompleto) en el código fuente principal.
  2. En caso de que tenga múltiples soluciones, puede tener múltiples estantes que puede probar en su aplicación.
  3. Si otra persona requiere una cierta estantería suya para fines de pruebas parciales antes de su registro, está disponible.

Busqué esta función y descubrí que la mayoría de los otros productos (SVN, Mercurial) introducirán esta función en el futuro, pero aún no está disponible.

... Siempre es mejor pedir perdón en lugar de permiso ...

Por lo general, hago un pago a una nueva ubicación, hago los cambios allí y luego me comprometo.

Más tarde, hago una actualización sobre la ubicación original para fusionar los cambios en mi versión modificada previamente.

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