From 7bab1dd25f3a93a112d29fa94598b162ada9ebcf Mon Sep 17 00:00:00 2001 From: bru Date: Sat, 10 Apr 2021 14:23:03 -0300 Subject: [PATCH] Tutorial send-email/format-patch --- ...04-10-git-send-email-y-git-format-patch.md | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 _posts/2021-04-10-git-send-email-y-git-format-patch.md diff --git a/_posts/2021-04-10-git-send-email-y-git-format-patch.md b/_posts/2021-04-10-git-send-email-y-git-format-patch.md new file mode 100644 index 0000000..b51f339 --- /dev/null +++ b/_posts/2021-04-10-git-send-email-y-git-format-patch.md @@ -0,0 +1,58 @@ +--- +layout: post +title: Cómo enviar commits en forma de parches con git send-email y git format-patch +date: 2021-04-10 +category: herramientas +tags: git control-de-versiones email remoto +--- + +A veces queremos incluir cambios que hicimos en nuestro repositorio, sea +local o remoto, a otro repositorio de otra persona. Esto se puede hacer +eligiendo los commits que contienen estos cambios y convertirlos en parches. +Estos son simplemente archivos que diferencian un archivo de otro, línea por +línea. Un parche puede enviarse por cualquier medio electrónico, y el autor +de otro repositorio puede aplicar dicho parche a su propio repositorio. Esta +es una guía muy simple para crear y enviar estos parches. + +En tu repositorio, haz las modificaciones y commits que vayas a enviar como +parches. Pueden ser tantos como requieras. + +Luego, configura las variables necesarias de send-email: + + git config user.name # Nombre del autor del commit + git config user.email @texto-plano.xyz # Email del autor + git config sendemail.from "Usuario " # Formato "From" para el correo + git config smtpuser # Usuario en el servidor SMTP + git config smtpserver texto-plano.xyz # Servidor SMTP + git config smtpserverport 587 # Puerto del servidor + git config sendemail.smtpencryption tls # Encriptación TLS para el servidor + git config sendemailsuppresscc self # Recomendable, evita enviarte el parche a ti mismo + +Se pedirá la contraseña del servidor en cada instancia, salvo que se +especifique la variable `sendemail.smtppassword` (inseguro). + +Luego, envía los commits que elijas con git send-email. En este caso, '-1' +elige el último commit hecho desde HEAD. Es necesario especificar a quién +enviarle los parches con '--to'. + + git send-email -1 --to="Destinatario " + +Si todo salió bien, el destinatario debería tener todos los parches que +elegiste en su casilla de correo. + +Para crear un archivo .patch individual, se usa git format-patch. De nuevo, +'-1', por ejemplo, elige el último commit. Con '-o' se elige el directorio en +el que van a quedar los parches. + + git format-patch -1 -o /home/ + +Esta herramienta es útil por si se necesitan enviar los parches por otro +programa de manera adjunta. También puede generarse el parche para usarlo de +argumento con send-email. + +Más información (en inglés): + +- [Learn to use email with git!](https://git-send-email.io/) +- [How to Use git send-email](https://www.freedesktop.org/wiki/Software/PulseAudio/HowToUseGitSendEmail/) +- [Manpage de git send-email](https://git-scm.com/docs/git-send-email) +- [Manpage de git format-patch](https://git-scm.com/docs/git-format-patch) -- 2.30.2