直观地显示文件历史记录

时间:2015-07-28 17:20:30

标签: git awk

我正在尝试直观地显示文件更改历史记录。       一个简单的方法是在文本模式下使用gitk。       我需要一种视觉方式,所以我写了以下脚本:

$1

$1将是我的输入 假设我有以下与1b0e691e55caa8fd2b5dd6902f77c406fb68e648 d058c095f7e98a7ebe943c18f87ef087c723bb9f c4d1769183ab6d852c624e71e6a0ca00dc3b6d13

相关的提交
$1

但是,当我针对1b0e691e55caa8fd2b5dd6902f77c406fb68e648 c4d1769183ab6d852c624e71e6a0ca00dc3b6d13 运行我的脚本时,只会显示这两个提交,

d058c095f7e98a7ebe943c18f87ef087c723bb9f

这一个

^!

以某种方式被跳过,我想这是因为kdiff3运算符。 我的目的只是在可视化工具中显示文件更改历史记录,例如我最喜欢的一个:git log --follow "$1"|awk '/commit/{print $2}'|while read ss; do echo $ss; done git log --follow "$1"|awk '/commit/{print $2}'|while read ss; do echo $ss;git difftool $ss^! "$1"; done

非常感谢任何替代解决方案/帮助。

更新: 我很确定,所以,我运行这个脚本:

458e7fd3c9ae03c27f6b7924e4725f91483a8f39
e17e1d44d75c73bca6cba27469f9d2a10938be33
1d19ee82dc4fc22e0576d9aee031a3f300b3fa10

458e7fd3c9ae03c27f6b7924e4725f91483a8f39

Viewing (1/1): 'src/main/java/substring_with_concatenation_of_all_words/SubstringwithConcatenationofAllWords.java'
            Launch 'kdiff3' [Y/n]:
1d19ee82dc4fc22e0576d9aee031a3f300b3fa10

以下是输出:

e17e1d44d75c73bca6cba27469f9d2a10938be33

您看,提取:silent !command已被跳过。

1 个答案:

答案 0 :(得分:1)

看到if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_NFC)) { // has NFC. Use NFC feature here } 提示? [Y/n]正在尝试读取输入并从管道中窃取一行。

您需要重定向以避免这种情况。

git difftool