如何使用TortoiseSvn找到在我的代码中更改了一行的修订版?
-
10-07-2019 - |
题
我有一行代码似乎已注释。基本上我想找到的是修改代码中的这一行。
那么,是否可以在TortoiseSvn Log中看到与特定关键字相关的代码更改?
解决方案
您要做的是在该源文件上执行责备,它会告诉您改变了每行代码的修订版。
我不知道任何命令能够为您提供给定代码行的所有修订...您可以做的是在单个文件上执行show log然后查看每个修订版本随着时间的推移发生了。
其他提示
Mezoid的责备听起来很正确。顺便说一句,我想分享命令行svn用户可能会觉得有用的技术。 (这是关于svn责备,但我使用<!>“注释<!>”同义词,或者<!>“svn ann <!>”;因为<!>“; blame <!>”声音有点刺耳!)
好的,所以你有一条你感兴趣的线,它上面有一个独特的字符串<!> quot; distinctiveString <!> quot;。您想在首次引入该行时读取提交消息,但可能已经编辑了几次。所以,你继续这样做:
# svn ann that.file | grep distinctiveString
2345 yada yada distinctiveString blah blah
查看svn的TRAC Web界面显示r2345只是更改了行的缩进,它不是引入该行的修订版。接下来你使用-R标志(或-r,svn help ann来确保)指定的修订版本比你在上一步中找到的版本少一个:
# svn ann -R 2344 that.file|grep distinctiveString
2211 yada yada distinctiveString blah blah
冲洗并重复,直到找到原件。
您可以在每一步中省略TRAC查找,只需重复直到您不再看到该行,并获取倒数第二次迭代的结果。
好的,这有点费力,但是如果你真的想要知道谁引入了这条线,它就能完成这项工作。如果原始提交消息解释了一段看起来可能被删除的模糊代码的意图,它可以节省您的时间。
您可以右键单击repo中的文件,然后选择TortoiseSVN - <!> gt;显示日志以获取此文件受其影响的修订。在逐行的基础上,我不知道。
我正在寻找相同的功能,我最终在这里,我不再寻找了。
但这是我正在使用的一种技术,它可以帮助其他人:
- 确定兴趣线。最后称之为:第123行。
- 使用to Tortoise <!> quot; show log <!> quot;该文件。
- 考虑日志中的完整列表。
- 如果您不知道何时可能发生,请使用<!>“快速排序思维模式<!>”,我的意思是,转到列表中间的修订版,右键单击<!> quot ;与工作副本<!>比较。
- 如果第123行存在(相同的内容,但可能是不同的行号),那么您现在应该只考虑列表的下半部分,否则您现在应该只考虑列表的上半部分。回到第4步。 醇>
这比解释更容易。由于本文是开发人员的目标,因此我知道无需添加更多详细信息:)