umpf es una herramienta que te ayuda a administrar ramas de git y combinarlas en una versión de software. Puede crear etiquetas y exportar los cambios como una pila de parches. umpf fue diseñado originalmente para el kernel de Linux pero también puede usarse para otros proyectos.
Hay varias razones por las que las confirmaciones se dividen en varias ramas:
Por lo tanto, trabajar con varias ramas facilita el manejo de parches y el desarrollo posterior. Pero combinar esas ramas en una versión puede resultar tedioso y propenso a errores.
Aquí es donde entra en juego umpf. Automatiza el proceso de creación de lanzamientos. Crea etiquetas de forma reproducible. Y puede crear series de parches a partir de esas etiquetas.
umpf es un script bash, por lo que no es necesaria ninguna instalación. Sólo necesita algunas herramientas de línea de comandos como sed, grep y, por supuesto, git.
Para habilitar la finalización de bash, asegúrese de que umpf esté en su $PATH
y luego:
$ mkdir -p ~/.local/share/bash-completion/completions $ ln -s /ruta/a/umpf/bash_completion ~/.local/share/bash-completion/completions/umpf
umpf -h
proporciona una descripción básica de los argumentos de la línea de comando. Se pueden encontrar más detalles sobre umpf en la documentación.
Para contribuir a umpf, prepare una solicitud de extracción en Github. Para que sea posible incluir sus modificaciones, es necesario que las adiciones de código tengan licencia bajo los mismos términos que la propia umpf. Por lo tanto, debe aceptar el siguiente documento:
Certificado de origen del desarrollador 1.1
Al realizar una contribución a este proyecto, certifico que:
- El aporte fue creado total o parcialmente por mí y tengo derecho a enviarlo bajo la licencia de código abierto indicada en el archivo; o
- La contribución se basa en un trabajo anterior que, a mi leal saber y entender, está cubierto por una licencia de código abierto adecuada y tengo derecho, en virtud de esa licencia, a enviar ese trabajo con modificaciones, ya sea creadas total o parcialmente por mí, bajo la misma licencia de código abierto (a menos que se me permita presentarla bajo una licencia diferente), como se indica en el archivo; o
- El aporte me fue proporcionado directamente por alguna otra persona que certificó (a), (b) o (c) y no lo he modificado.
- Entiendo y acepto que este proyecto y la contribución son públicos y que un registro de la contribución (incluida toda la información personal que envío con él, incluida mi aprobación) se mantiene indefinidamente y puede redistribuirse de acuerdo con este proyecto o el código abierto. licencia(s) involucrada(s).
Su acuerdo se expresa agregando una línea de cierre de sesión a cada una de sus confirmaciones (por ejemplo, usando git commit -s
) con el siguiente aspecto:
Firmado por: Desarrollador Random J <[email protected]>
con su identidad y dirección de correo electrónico que coincidan con los metadatos de confirmación.