L'une des failles inévitables de git est son incapacité à stocker et récupérer des métadonnées sur un fichier. Par exemple, sur le mac, les étiquettes sont stockées avec des "attributs étendus" (accessibles avec xattr
), et toute commande checkout/reset/merge/pull effacera ces attributs si le fichier est affecté par la vérification.Crochets Git pour le stockage/l'extraction de métadonnées
J'ai regardé autour de moi pour voir si quelqu'un avait déjà écrit des scripts de sauvegarde de métadonnées, mais je suis revenu au sec.
Donc ce que je voudrais faire est d'utiliser le système de crochet de Git:
- Lire les attributs étendus lorsque les fichiers sont engagés,
- Écrivez les attributs à un fichier stocké dans le référentiel qui obtient également engagé ,
- Appliquez les attributs étendus aux fichiers modifiés lors d'une fusion/extraction/réinitialisation.
Lequel des crochets dois-je utiliser? Est-ce que post-receive
et pre-commit
sont tout ce dont j'ai besoin? Est-ce que pre-commit
peut également ajouter un fichier au commit (c'est-à-dire, après avoir écrit les nouveaux attributs)?
Pourquoi le downvote? Si la question n'est pas satisfaisante, laissez un commentaire pour que je puisse le corriger. –