aboutsummaryrefslogblamecommitdiffstats
path: root/0001-Tutorial-send-email-format-patch-1.patch
blob: ffb02be6e3cb104de9476ea378602c26449c9ee0 (plain) (tree)












































































                                                                                                                            
From 7bab1dd25f3a93a112d29fa94598b162ada9ebcf Mon Sep 17 00:00:00 2001
From: bru <bru@texto-plano.xyz>
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 <usuario> # Nombre del autor del commit
+    git config user.email <usuario>@texto-plano.xyz # Email del autor
+    git config sendemail.from "Usuario <usuario@texto-plano.xyz>" # Formato "From" para el correo
+    git config smtpuser <usuario> # 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 <destinatario@ejemplo.com>"
+
+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/<usuario>
+
+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

Un proyecto texto-plano.xyz