git - 分支开关上的 GIT 涂抹过滤器:如何从“新”分支获取日志?
问题描述
我正在使用涂抹过滤器来扩展关键字(例如提交哈希、作者、日期)。该脚本是用python编写的,并在子进程中触发“git log”来检索信息。如果我删除文件并再次检查,一切正常。
但是当我切换分支时,扩展到文件中的信息是错误的。我发现涂抹脚本在 HEAD 切换到我要检查的分支之前运行,这对我来说很有意义。所以在这种情况下,“git log”会给我我来自的分支的信息,而不是我要切换到的分支的信息。
我如何知道要在涂抹脚本中签出哪个分支?或者如何从我要切换到的分支中检索信息?
解决方案
提交哈希和被检出的 ref 都不能用于涂抹和清理过滤器。它可能会以新filter.<driver>.process
形式作为属性传递,但尚未在 Git 中实现这一点。
如果您只想实现提交哈希,您可以在存储库的文件中指定ident
属性,如下所示:.gitattributes
*.c ident
然后你可以写$Id$
你的代码,它会自动扩展。在这种情况下,这是唯一可能的。
推荐阅读
- html - 无法修复表格 td 宽度
- php - Waring:自 PHP7.1 以来,联系人表单中“名称”中的非法字符串偏移量
- c# - 分配函数返回的 IEnumerable
对另一个对象的价值 - python - 从关系属性访问列值
- c# - 在 Visual Studio 中将机器人部署到 Azure 时发布错误
- r - 如何计算R中列的每个字符串的第一个字符的出现次数
- indexing - 按记录名称查找记录中的索引
- node.js - 为什么中间件的内容在浏览器的单个请求中运行四次
- mongodb - 我在我的数据/数据库路径上找不到 MongoDB 数据库
- php - 通过 android studio 将图像上传到 000webhost.com