2010-06-11 21 views
6

Sé que si algunos archivos están desprotegidos (modificados), entonces podría hacer clic derecho en la carpeta que contiene, luego seleccionar "crear parche". Después de eso, veré la lista de todos los archivos desprotegidos. Entonces podría incluirlos en el parche. Pero cuando no se realiza la extracción de archivos, también se compromete todo, la ventana de creación de parches está vacía. Entonces, la pregunta es ¿cómo puedo crear el parche de los archivos registrados? Deseo enviar este parche a mis colegas para que puedan aplicarlo en el servidor svn de la compañía.¿Cómo crear un parche en TortoiseSVN mientras no hay ningún archivo extraído?

gracias,

+0

Parche significa diferencia entre dos versiones. En el caso que describió, hay modificaciones locales sobre la base de SVN. ¿Cuáles son las dos versiones que desea restar? –

+0

Hay un servidor svn en la empresa al que no accedí desde mi casa. Una vez a la semana, copio el repo de la compañía a la computadora de mi casa a través de dvd/flash/etc. Durante la semana, tengo cambios en mi fuente de origen y deseo enviarlos al repositorio de la compañía por correo electrónico a mis colegas. Sé que git puede ser una mejor opción, pero solo debo usar SVN. –

Respuesta

12

Un diff unificado es un archivo de parche.

  1. utilizando TortoiseSVN, haga clic en la carpeta de trabajo y seleccione “Mostrar registro”
  2. Seleccione las dos revisiones (Ctrl-clic)
  3. Haga clic en cualquiera de las revisiones resaltados y seleccione “ Mostrar diferencias como diff unificado "

Para guardar los archivos modificados con la estructura de carpetas.

  1. utilizando TortoiseSVN, haga clic en la carpeta de trabajo y seleccione “Mostrar registro”
  2. Seleccione las dos revisiones (Ctrl-clic)
  3. Seleccionar "Comparar revisiones." Esto mostraría los archivos modificados entre las revisiones en un cuadro de diálogo
  4. Seleccione todos los archivos en el cuadro de diálogo que aparece. Haga clic derecho en los archivos seleccionados y seleccione "Exportar selección a ..."

Esto debe exportar los archivos modificados con la estructura de carpetas.

+0

Eso parece muy bueno. Pero 2 problemas: 1. Si tengo varios elementos cambiados en un árbol de carpetas, me veo obligado a hacerlo manualmente en cada archivo. 2. ¿Hay alguna manera de obtener diff de las estructuras de carpetas? Por ejemplo, cambios de directorio? –

+0

@afsharm He actualizado la respuesta. – Shaji

+0

En realidad 3 problemas ... la pantalla unificada de diferencias no parece ser compatible con ShiftJIS, por lo que el texto japonés se convierte en mojibake. – iforce2d

1

si lo que desea colegas para obtener los archivos más actualizados, deben hacerlo desde el servidor SVN usando SVN-checkout. Si por alguna razón no pueden acceder a su servidor svn, también puede hacer clic derecho y seleccionar svn-export; esto le proporciona un conjunto de todos los archivos en la carpeta que lo contiene sin ninguno de los directorios .svn ocultos.

+0

Tenga en cuenta mi comentario sobre la pregunta. Además, una exportación no es una buena opción para mí. Porque quiero enviar solo archivos modificados. –

2

Lo que está describiendo es un diff entre dos subversion revisiones. Consulte la sección del Libro SVN en svn diff para ver cómo hacerlo.

Cuestiones relacionadas