2011-10-17 18 views
5

Tengo un correo con N archivos adjuntos en el formato 000X-xxxx.patch. Me gustaría aplicar todos los parches sobre mi maestro, pero me gustaría tener todos los commits separados, ya que el autor original los cometió. Incluyendo el mensaje de compromiso, por supuesto.¿Cuál es la forma más fácil de aplicar las series de parches de Git desde Thunderbird

Método 1: Abra el correo electrónico, haga clic en Guardar como, xxx.eml y luego:

git am xxx.eml 

El resultado está bien, pero todo es aplastado en una confirmación. Inaceptable.

Método 2. Todos los datos adjuntos se guardan en un directorio, entonces:

git am 000*.patch 
Patch format detection failed. 
git apply 000*.patch 
(does nothing) 

Esto no está funcionando. Consejos? Gracias.

+0

Se menciona una extensión de exportación de mbox en: https://support.mozilla.org/en-US/questions/1131636 | https://addons.mozilla.org/en-GB/thunderbird/addon/importexporttools/ pero no parece ser compatible con el Thunderbird 52.6.0 actual. –

Respuesta

2

Al leer la página del manual git am, parece que el mensaje de confirmación está formado por la línea Asunto y el cuerpo del mensaje, lo que significa que no podrá volver a crear la secuencia original de confirmaciones (es decir , no hay medios para recuperar el mensaje de confirmación que el autor utilizó para cada confirmación individual) ... aunque según la página del manual, git am está diseñado para trabajar con parches en línea, no parches incluidos como archivos adjuntos, así que estoy sorprendido de que haciendo lo correcto incluso en el método 1.

Si está dispuesto a descartar los mensajes de confirmación, debe poder guardar los parches en archivos individuales y solo git apply ... en secuencia.

+0

Hmmm pero git apply no hace nada por mí. – lzap

+0

Ok ambos git apply y git estoy trabajando en un archivo separado. Acabo de tener un ">" al comienzo de la primera línea. Así que Thunderbird de alguna manera lo arruinó. Resuelto – lzap

+0

¡Me alegro de escucharlo! – larsks

0

Por lo que he podido encontrar, Thunderbird no tiene una forma sensata de guardar varios correos electrónicos como archivos individuales al mismo tiempo. Puede guardarlos uno a la vez, sin embargo, y esto funciona para pequeños conjuntos de parches.

Irónicamente, descubrí accidentalmente la forma más fácil mediante el envío de parches de Linux a un colega que no sigue las listas de correo. Reenviarlos a usted (como archivos adjuntos).

  1. Seleccionar todos los correos electrónicos de parche
  2. transmitirlas a sí mismo como archivos adjuntos
  3. ahorrar todos los accesorios a un directorio apropiado
  4. aplican los mensajes de correo electrónico. por ejemplo, "git am my_patch_dir/[PATCH -v5 *"
+0

Al menos Thunderbird 52.1.0 parece ser capaz de guardar varios correos electrónicos: simplemente marque varios correos electrónicos y diga "Guardar como ..." en el menú contextual. Esto permite seleccionar una carpeta donde se guardarán todos los correos electrónicos marcados. – falstaff

+0

A menos que haya cambiado, usando "Guardar como" en varios correos electrónicos resulta en un archivo que contiene todos los correos electrónicos, este archivo grande no funciona en absoluto con git am, AFAICT –

Cuestiones relacionadas