Cómo actualizar por lotes los mensajes de confirmación de Git -

Índice

  1. Prependiendo para confirmar mensajes
  2. Agregar para confirmar mensajes

En Mozilla somos muy estrictos a la hora de recibir contribuciones a través de git/GitHub. Además de requerir pruebas y hacer cumplir la calidad del código, un aspecto básico de enviar una confirmación (o varias) es que el mensaje de confirmación comience con “error #######”, que es una referencia a su error Bugzilla. El requisito del mensaje tiene sentido, pero odio volver a los contribuyentes y pedirles que hagan “el papeleo” para cambiar su mensaje de confirmación para que coincida con nuestro estándar, por lo que generalmente trato de realizar la actualización por ellos.

Recientemente, MDN recibió una contribución que actualizó CKEditor y lo hizo a través de aproximadamente 60 confirmaciones, ninguna de las cuales hacía referencia al número de error para la actualización de la función. Tenía muchas ganas de realizar las actualizaciones de mensajes de confirmación para este colaborador, pero quería hacerlo de forma automática: una actualización por lotes para ahorrarme tiempo al actualizar cada mensaje uno por uno. Bienvenido a filter-branchy --msg-filter!

Índice de contenidos
  1. Prependiendo para confirmar mensajes
  2. Agregar para confirmar mensajes

Prependiendo para confirmar mensajes

Para anteponer texto a cada mensaje de confirmación en un rango determinado, debe ejecutar un mensaje como:

git filter-branch --msg-filter 'echo "error ###### - c" cat' master..HEAD

La combinación de filter-branchy --msg-filterle permitirá repetir cada mensaje de confirmación. La pieza de eco te permite construir la nueva cuerda. La última parte es el rango a cuyos mensajes de confirmación se deben dirigir; en este caso, antepongo el texto a cada confirmación en la rama de características.

También puedes sedlograr esto:

git filter-branch -f --msg-filter 'sed "s/^/bug ###### - /"' master..HEAD

Agregar para confirmar mensajes

El caso para agregar a los mensajes de confirmación podría ser cuando desea agregar los nombres del revisor al mensaje. Agregar es más o menos lo mismo:

git filter-branch -f --msg-filter 'cat echo "[Revisor Walsh]"' master..HEAD

La diferencia aquí es la posición del catcomando. Todo lo demás puede ser igual.

Tengo una relación de amor/odio con git: me encanta porque es muy fácil para el 90% de mis necesidades, pero lo odio cuando necesito el otro 10%. ¡Esperamos que estos ejemplos te ayuden si te encuentras con esta necesidad en el futuro!

Te podría interesar...

Deja una respuesta

Subir