Joachim Breitner comenta:
El problema: La división de los parches
Como desarrollador de Debian, que trabajan a menudo con los parches (archivos de lista de cambios en archivos de texto), por ejemplo, cuando el seguimiento de la modificación que hago a algunos programas antes de subir el paquete a Debian. Para gestionar estos parches, edredón es una buena herramienta: Te ayuda a mantener un montón de parches en la parte superior del código original y le anima a mantener sus diversas modificaciones distintas.
Un caso de uso no es compatible con edredón a todos: La división de los parches. A menudo se tiene un parche grande que contiene varios cambios independientes. Esto puede ocurrir después de corregir algunos problemas en el código de arriba ya continuación, ejecute dpkg-buildpackage, que creará una revisión de sus cambios y lo puso en debian / patches. Antes, tenía que editar manualmente el parche y escribir los trozos, que son los componentes básicos de parches, en un archivo separado.
En caso de que ya trabaja
No hay tal problema cuando se utiliza un sistema de control de versiones, como Darcs . Especialmente Darcs es tan popular por su interfaz fácil de usar y potentes funciones de selección trozo. Usted puede incluso partir un trozo único (que podría ser un cambio en una línea) en dos pasos separados! Echa un vistazo a la HunkEditor página en el wiki Darcs para ver cómo funciona.
Vamos a robar una característica
Bueno, no es robar si es Software Libre … Darcs tiene estas capacidades agradable y les proporciona en el contexto de los sistemas de control de versiones, mientras que los necesitamos en el contexto de los archivos de parche. Pero Darcs está proporcionando una API para su código, por lo que shoudn’t sea posible crear un programa que utiliza el código de Darcs para dividir archivos de parche? Como cuestión de hecho, es posible: puede ver ese programa en acción en este 3min Ogg Theora-Video o directamente aquí si tu navegador soporta HTML5:
controls=”true” <video height=”448″ src=”http://www.joachim-breitner.de.nyud.net/various/ipatch-demo.ogv” tabindex=”0″ width=”704″> Parece que tu navegador no soporta HTML5 </ video>
Niza, lo puedo usar?
El código es una prueba de trabajo de concepto. Lo que usted ve las obras. No se ve cómo maneja los parches que crean o borrar archivos, parches que no se aplican limpiamente o ya se aplican o cualquier tipo de control de errores. Eso no funciona todavía. Si aún así quieres probarlo, puedes descargar el código desde el repositorio de Darcs en http://darcs.nomeata.de/ipatch , pero que necesita para construir el desarrollo del estado más reciente de la biblioteca Darcs primero.
Creo iPatch podría convertirse en una herramienta muy útil y poderosa, con aplicaciones en áreas donde nadie se le ocurriría utilizar Darcs. Definitivamente quiero una cierta integración en la colcha, que sustituye el parche dividido en la serie por las placas de sustituir de forma automática. Tal vez incluso un plugin git se podrían crear? Pero yo no creo que pueda impulsar este proyecto lo suficiente por mi cuenta. Así que esta es una invitación a unirse a mí y hacer iPatch una gran herramienta. Esta invitación va especialmente a los desarrolladores Darcs: Por favor, eche un vistazo cómo el código utiliza la API de Darcs y ayudar a mejorar la colaboración aquí. Creo que podemos utilizar el darcs los usuarios lista de correo hasta que no haya necesidad de una lista de correo.