2012-03-23 13 views
7

Estoy intentando realizar un caso de uso usando git.Agregar notas de Git a un blob

Caso de uso: Debería ser posible agregar metadatos (como Atributos) a los artefactos git.

Planeamos tener un repositorio git para cada componente, por lo que la aplicación de una nota para cada objeto de compromiso podría cumplir este requisito.

Ahora, también se requiere que tengamos metadatos para los archivos dentro de un componente (git repo en este caso). Para esto intenté adjuntar una nota a un blob que era parte de una confirmación.

Acepta la nota e incluso puedo enviar las notas al repositorio central.

¿Es este un uso seguro y confiable de las notas de git para este caso de uso?

Respuesta

9

Sí, puede usar git notes de esa manera.

La entrada en el blog "Git Tip of the Week: Git Notes" de Alex Blewitt nos recuerda acerca de algunas de las ventajas y git notes Gotcha:

las notas no tienen que ser textual, ni tienen que ser algo que es fusionables.
Ni siquiera necesitan estar en el notes/commits ref; puedes crear notas basadas en cualquier referencia.

De hecho, así es como funciona Gerrit (sobre lo que he escrito antes).
Gerrit almacena su información de revisión en el repositorio de Git bajo notas/revisión. Por lo general, esto no se presenta (el registro de git sólo muestra las notas en las notas/compromete refspace)

  • Git Notes son, en efecto, una 'rama' separada del repositorio (almacenada a .git/refs/notes)

  • se fusiona: dado que el archivo de notas está esencialmente en su propia rama, el contenido no se fusiona con las fusiones entre las ramas. Si desea fusionar notas de git, seguir el Key: Value en líneas separadas es la forma de lograr la combinación de git note nirvana.

El "note to self" article también señala cómo empujar/tirar de notas no es precisamente fácil.

Además de estos dos problemas (fusionar y presionar), debería estar bien con su caso de uso 'git notes'.

Cuestiones relacionadas