代码之家  ›  专栏  ›  技术社区  ›  Seth Johnson

用于元数据存储/检索的git钩子

  •  11
  • Seth Johnson  · 技术社区  · 15 年前

    git不可避免的一个怪癖是它无法存储和检索有关文件的元数据。例如,在mac上,标签存储有“扩展属性”(可通过 xattr ,如果文件受签出影响,则任何签出/重置/合并/拉取命令都将删除这些属性。

    我四处查看了一下是否有人已经编写了元数据保存脚本,但我还是没有写出来。

    所以我想用git的钩子系统:

    1. 提交文件时读取扩展属性,
    2. 将属性写入存储在存储库中同时被提交的文件,
    3. 将扩展属性应用于在合并/签出/重置中修改的文件。

    我应该用哪个钩子?是 post-receive pre-commit 我需要的一切?罐头 预提交 还要向提交中添加一个文件(即,在写入新属性之后)?

    2 回复  |  直到 10 年前
        1
  •  3
  •   Chris Johnsen    15 年前

    这个 gibak tool 使用 pre-commit post-checkout 让它 金属矿 工具保存/恢复元数据(可选包括xattrs)。

    你不想 post-receive . 它在推送的远端运行。它为裸存储库运行,因此它不需要尝试从推送提交的内容更新任何文件。做进去 结账后 在你知道你将有一个工作树可用。

        2
  •  0
  •   loopbackbee    10 年前

    metastore 能够保存和还原文件元数据,并将其存储在单独的文件中(您可以将其包含在提交中)