【发布时间】:2010-02-26 14:55:09
【问题描述】:
git 不可避免的怪癖之一是它无法存储和检索有关文件的元数据。例如,在 Mac 上,标签与“扩展属性”一起存储(可通过 xattr 访问),如果文件受到检出的影响,任何 checkout/reset/merge/pull 命令都会删除这些属性。
我环顾四周,看看是否有人已经编写了元数据保存脚本,但我想不通。
所以我想做的是使用 Git 的钩子系统:
- 提交文件时读取扩展属性,
- 将属性写入存储在存储库中的文件,该文件也被提交,
- 将扩展属性应用于在合并/签出/重置中修改的文件。
我应该使用哪些钩子? post-receive 和 pre-commit 是我所需要的吗? pre-commit 是否也可以在提交中添加文件(即,在写入新属性之后)?
【问题讨论】:
-
为什么投反对票?如果问题不满意,请发表评论,以便我更正。