我想设置一个带有自定义合并驱动程序的Git存储库,然后在合并时禁用重命名检测。
问题在于,如果我使用默认的递归策略,我无法禁用重命名检测,如果我使用解析策略(不理想,但足够好),则忽略合并驱动程序。
请注意,即使文件内容完全匹配,我也希望避免重命名检测。
的.git /配置:
[merge "my"]
name = my merge
driver = my_merge_driver %A %O %B
[merge]
default = my
尝试:
$ git merge -X rename-threshold=200% # Equivalent to 100%
$ git merge -s resolve # Custom driver ignored
$ git --version # git version 2.2.0-rc0
答案 0 :(得分:2)
从Git 2.8.0.rc0开始,merge-recursive算法现在接受一个选项“no-renames”(commit 4ce064d),所以我的问题现在已经解决了
$ git merge -X no-renames
答案 1 :(得分:1)
考虑到您为此计划的用例,一个好的解决方法是在每个文件中写入文件名以及版本号。