En proyectos de código abierto (como éste), todos tienen acceso de lectura al repositorio, y cualquiera puede hacer una contribución al proyecto. ¿Así que cómo se controlan esas contribuciones? Si cualquiera pudiera confirmar cambios, el proyecto estaría permanentemente inestable y probablemente roto de forma permanente. En esta situación, el cambio se maneja mediante un fichero de parche enviado al equipo de desarrollo, que tienen acceso de escritura. Ellos pueden revisar el parche antes, y luego o bien confirmarlo en el repositorio o devolvérselo al autor.
Los ficheros de parche son simplemente ficheros de diff unificados que muestran las diferencias entre su copia de trabajo y la revisión base.
Primero necesita hacer y probar sus cambios. Luego en vez de utilizar el comando → sobre la carpeta padre, seleccione →
ahora puede seleccionar los ficheros que desea incluir en el parche, del mismo modo a como lo haría con una confirmación completa. Esto producirá un único fichero que contendrá un resumen de todos los cambios que ha hecho a los ficheros seleccionados desde la última vez que se actualizó desde el repositorio.
Las columnas en este diálogo pueden ser personalizadas de la misma forma que las columnas en el diálogo Comprobar modificaciones. Para más detalles, lea “Estado local y remoto”.
Puede producir parches separados que contengan cambios a diferentes conjuntos de ficheros. Por supuesto, si crea un fichero de parche, hace algunos cambios más a los mismos ficheros y luego crea otro parche, el segundo fichero de parche incluirá ambos conjuntos de cambios.
Simplemente grabe el fichero utilizando un nombre de fichero de su elección. Los ficheros de parche pueden tener la extensión que desee, pero por convención se suele utilizar las extensiones .patch o .diff extension. Ya está preparado para enviar su fichero de parches.
También puede almacenar el parche en el portapapeles en vez de en un fichero. Puede querer hacer esto para poder pegarlo en un email de forma que lo revisen otros. O si tiene dos copias de trabajo en una máquina y quiere transferir cambios de una a otra, un parche en el portapapeles es una forma cómoda de hacerlo.
Los ficheros de parches se aplican en su copia de trabajo. Esto debe hacerse desde el mismo nivel de carpetas que se utilizó para crear el parche. Si no está seguro de cuál es, mire la primera línea del fichero de parche. Por ejemplo, si el primer fichero en el que se trabajó era doc/source/english/chapter1.xml y la primera línea en el fichero de parche es Index: english/chapter1.xml entonces necesita aplicar el parche en la carpeta english. Sin embargo, suponiendo que esté en la copia de trabajo correcta, si ha seleccionado un nivel de carpeta erróneo, TortoiseSVN se dará cuenta y le sugerirá el nivel correcto.
Para aplicar un fichero de parche en su copia de trabajo, necesita al menos acceso de lectura al repositorio. La razón para esto es que el programa de fusión debe referenciar los cambios sobre la revisión contra la que se hicieron por el desarrollador remoto.
Desde el menú contextual de esa carpeta, pulse en → Esto mostrará un diálogo de abrir fichero que le permitirá seleccionar el fichero de parche a aplicar. Por defecto sólo aparecen los ficheros .patch o .diff, pero puede elegir “Todos los ficheros”. Si había guardado previamente un parche en el portapapeles, puede usar en el diálogo de abrir fichero.
Alternativamente, si el fichero de parche tiene una extensión .patch o .diff, puede hacer click con el botón derecho en él directamente y seleccioanr → . En este caso se le preguntará la ruta de la copia de trabajo.
Estos dos métodos le ofrecen formas diferentes de hacer lo mismo. Con el primer método selecciona la copia de trabajo y busca el fichero de parche. Con el segundo selecciona el fichero de parche y busca la copia de trabajo.
Una vez que haya seleccionado el fichero de parche y la ruta de la copia de trabajo, se ejecuta TortoiseMerge para fusionar los cambios del fichero de parche contra su copia de trabajo. Una pequeña ventana le muestra los ficheros que han sido cambiados. Haga doble click por turnos en cada uno de ellos, compruebe los cambios y grabe los ficheros fusionados.
El parche del desarrollador remoto ya ha sido aplicado a su copia de trabajo, por lo que necesita confirmar para que todos los demás accedan a los cambios desde el repositorio.