在版本控制中逐字责备/注释?

时间:2013-07-20 02:16:32

标签: git svn blame

是否可以在版本控制中重建逐字历史记录?理想情况下,我想做的事情就像1)我指出感兴趣的行的范围,2)让程序找出以前版本中的相应行号,因为代码经常在版本之间上下移动(可能限制了版本范围,比如自19版以来,或者从一周前开始),3)打印出逐字逐句的历史记录,可以是最后一次更改单词组的版本,也可以是更改单词组的作者。所以它有点像svn blamegit blame逐字逐句。

如果失败了,是否有可以做#1和#2的工具?也就是说,1)我指出感兴趣的行的范围,2)让程序找出先前版本中的相应行号,3)程序将打印出这些行的历史(当有变化时)。

svn或git对我来说真的很有帮助。

2 个答案:

答案 0 :(得分:2)

我找了这样的东西,最终破解了我自己的解决方案。你可以在这里找到它:

https://github.com/d33tah/wordblame

基本上,它创建了一个新的存储库目录,其中所有空格都被换行符替换,并且唯一的字符串表示存在空格。然后," git责备"执行并重新解释结果。

答案 1 :(得分:0)

我已经制作了一个名为git-word-blame的工具来解决这个确切的问题:

# setup
> virtualenv -p python3 venv
> source venv/bin/activate
> pip install git-word-blame

# usage
> git word-blame your-file
> firefox /tmp/git-word-blame/word-blame-by-commit.html

我应该看起来像这样:

git word-blame screenshot