目标:对于特定的二进制文件,我希望"git“使用我们的自定义工具,但我无法让它工作。https://github.com/go-gitea/gitea/issues/12288是我能找到的壁橱里的帮手。我的调试显示自定义工具没有运行。示例:
git diff -textconv ABCProduct\Setup\Projects\Example\GERMAN.dbf
Environment:在Windows上使用Visual,但是执行检查的脚本在git存储库根中运行。当前分支可以更改DBF文件。
Details:我们编写了一个简单的校验和程序,它根据提供的偏移量输出文本SHR256,例如"checksumsha256 -from 4“提供跳过前4个字节的校验和。在这种情况下,我们比较DBF文件,它在前4个字节中有时间戳,其余的就是内容。因此,具有相同内容的DBFs (二进制文件)可以具有不同的SHR256,但是当使用该工具时,它们都返回相同的校验和。当DBF中的内容发生变化时,您可以通过工具得到不同的校验和,并且知道它们是不同的。输出到stdout的示例:
5A53C82726589E6CAB87579900535BC1B9828DAE4897F04676140FFDC1DBE2DC :SHA256
因此,我所做的就是在.gitattributes中添加"*.dbf diff=dbfsha256“,然后在.git\config文件中添加
[diff "dbfsha256"]
textconv = Build/CheckSumSHA256.exe -from 4
prompt = false
我也在某个帖子中看到的textconv行中添加了$1,我尝试了这一点。我假设本地.git\config优先于c:\users.gitconfig (我试图对两者进行更新,但都没有成功)。我们希望在其他二进制文件中使用这种方法,这些文件可能包含不重要的头信息。
谢谢
发布于 2022-05-31 02:09:48
我提出的解决方案确实有效,但是它在测试期间不起作用,因为用于变量的路径部分是错误的。取出--即使在Windows上,对于分支中的文件路径(即使$core.ignoreCase设置为true),$core.ignoreCase似乎也只适用于.gitattributes文件中的引用。
https://stackoverflow.com/questions/72402141
复制相似问题