Pregunta

Me gustaría aplicar el parche action_mailer se menciona en este hilo, pero nunca he aplicado un parche antes y no estoy seguro de cómo funcionan: https://rails.lighthouseapp.com/projects/8994/tickets/2263

Mi acción anuncio publicitario joya está aquí: /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/gems/actionmailer-2.3.2

Asumo que necesito ir a ese directorio y ejecutar el comando patch ... algo como esto?

cd /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/gems/
wget https://rails.lighthouseapp.com/attachments/108548/0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch
patch < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch

Una cosa que no estoy muy claro en que es también el archivo de revisión se refiere al directorio "actionmailer" pero la mía se llama "actionmailer-2.3.2"

¿Fue útil?

Solución

Por lo general, no quiere parchear la fuente joya en sí. Es probable que desee para congelar las gemas en ${RAILS_ROOT}/vendor/rails, y luego aplicar el parche a nivel local.

Desde el $ {} RAILS_ROOT dir, de volcar todos sus carriles de gemas en proveedores / rieles

rake rails:freeze:gems

Aplicar el parche

  cd vendor/rails/ 
  patch -p1 < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch

Otros consejos

La respuesta de Micholson por encima de las obras. Pero para parchear el tesoro real para todas las aplicaciones de rieles (ver mi comentario sobre su respuesta) esto funcionó:

cd /opt/ruby-enterprise-1.8.6-20090421/lib/ruby/gems/1.8/gems/actionmailer-2.3.2
wget sudo wget https://rails.lighthouseapp.com/attachments/108548/0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch
sudo patch -p2 < 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch
sudo rm 0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch

descubrí también se puede revertir con un parche -R si algo va mal. Me sorprende que este proceso no fue mejor documentado en alguna parte. Con suerte, esto resultará en las búsquedas de Google para la gente nueva a parchear como yo.

Aquí es una concha de una sola línea para parchear una joya:

  

patch -d "$(gem env gemdir)"/gems/actionmailer-* -p1 < <(curl -s https://rails.lighthouseapp.com/attachments/108548/0001-Fix-implicit-multipart-mailer-views-when-RAILS_ROOT.patch)

Otro ejemplo usando joya gist:

  

patch -d "$(gem env gemdir)"/gems/gist-* -p1 < <(curl -s https://github.com/defunkt/gist/commit/5843e9827f529cba020d08ac764d70c8db8fbd71.patch)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top