9

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

如果做不到这一点,是否有可以执行上述 #1 和 #2 的工具?也就是说,1)我指出感兴趣的行的范围,2)让程序找出以前版本中对应的行号,3)程序会打印出这些行的历史(当有变化时)。

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

4

2 回答 2

2

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

https://github.com/d33tah/wordblame

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

于 2015-12-02T14:30:50.193 回答
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 截图

编辑:这也是 2016 年的另一个项目试图基于字符的指责:https ://cregit.linuxsources.org/

于 2019-05-05T19:23:19.463 回答