什么plumbing命令提供与git log相同的功能--follow?

时间:2015-03-24 17:48:12

标签: git git-log git-plumbing git-rev-list

为了提高稳定性,我目前正在重构所有与Git相关的shell脚本,以便它们只使用 plumbing (而不是瓷器)命令。特别是,我试图通过调用git rev-list(管道)来替换对git log(瓷器)的调用。

但是,尽管git rev-list似乎提供了git log的大部分功能,但它似乎缺少一个等同于git log的{​​{1}}标志的选项, Git列出影响路径甚至超出重命名的提交(例如--follow - > README)。来自git log man page

  

README.md

     

继续列出重命名以外的文件历史记录(仅适用于此工作      对于单个文件)。

我已经筛选了git rev-list man page,但我找不到任何与--follow相同的选项。我错过了什么?可以用git log --follow完成吗?或者我应该完全使用另一个管道命令?

1 个答案:

答案 0 :(得分:1)

不幸的是,--follow实际上(很差)构建到git log本身。它在一个特殊的单文件模式下打开重命名检测机制,然后可以找到向后转换(新文件foo =旧文件栏)。

(它没有找到前向转换,所以如果你使用--reverse并命名一个曾经存在的路径,例如,为了找到它变成了什么文件,它就会失败。)