回答
我不知道在Subversion中通过时间跟踪语句的方法。
但是很简单,但是看到文件中的任何特定行最后一次使用svn blame
进行了更改。检查SVNBook:svn blame
reference:
简介
svn blame TARGET[@REV]...
说明
只看该作者和修订版本信息行中指定的文件或URL。文本的每一行都在开头用作者(用户名)和最后一次更改的修订号进行注释。
svn blame显示哪个checkin修改了上一次文件中的任何行。
这也适用于旧版本。
您正在查找的命令是svn blame
。
一开始就是命令svn blame(或注释,赞美)。它会显示一行代码的最后修改时间和修改人。例如: -
4564 wiemann # $Id$
4564 wiemann # Author: David Goodger <[email protected]>
778 goodger # Copyright: This module has been placed in the public domain.
217 goodger
svn annotate
的AKA SVN从TortoiseSVN怪。
在TortoiseSVN客户端有一个非常不错的功能,让你:
- 怪文件,显示每行的最后一个变化(这是标准)
- “追溯以前版本”后,点击上面视图中的特定行(这是好的一行)
第二个功能是按照它说的 - 它显示最后修改行之前的注释修订。通过迭代使用此功能,您可以追溯特定行的历史记录。
如果怪不显示该行怎么办?我有这种情况,我寻找特定线路的变化。用tortoise->责备修改lates修改。在文件中,我可以看到一个特定的行,在责备我无法找到它。 – Offler 2013-03-20 07:17:38
我通常:
- 运行
svn blame FILE
第一。 - 请注意特定行的最后修订版。从那里手动
svn blame FILE -r 1:REV
- 跟踪:
请与
-r
说法另一个查询。
这可以分两个阶段进行:
svn blame /path/to/your/file > blame.tmp
grep "your_line_of_text" blame.tmp
您可以稍后删除blame.tmp文件,如果你不需要它。
原则上,可以用大致相同的任何脚本语言编写简单的脚本。
在Eclipse就可以知道,当你的代码的每一行已经使用SVN注释视图,或者在文件上点击右键→团队→注解显示...承诺。
这里的关键是需要多少历史记录。正如其他人指出的,简短的答案是:svn blame
(详情请参阅svn help blame
)。如果你在历史或远期处理重大变化,你可能需要的不仅仅是这一个命令。
我只是自己做了这件事,并发现这(ye ole)线程在这里。下面是我用CLI
解决这个问题的方法,特别是针对我的情况,API改变了(例如,将某人远远过时的工作(不在分支上,和)移回到基于up到最新的中继线)。例如。函数名称已经发生了变化,以至于不清楚哪个函数需要被调用。
第一步
下命令让我通过网页提交,事情的文件“fileName.h”在发生了变化,并查看相应的版本号(注意:您可能需要改变“10”根据你的svn日志文本或多或少的情况)。
svn log | grep -C 10 "fileName.h" | less
这导致此文件的修改版本列表。
第二步
然后,它是使用blame
(或其他人指出,annotate
)缩小到感兴趣的修订一件简单的事情。
cd trunk
svn blame [email protected] | less
例如,找到感兴趣的修订是35948.
第三步
已经发现通过指责感兴趣的修订版本,一个差异可以生产充分利用SVN工具。
svn diff -r35948:PREV fileName.h
结论
有一个视觉差异使得它更容易与新的/更新的API名称标识旧的API名称。
- 1. 在EF代码中记录用户更改的历史记录
- 2. 如何找出一行代码的更改历史记录
- 3. Subversion修订历史记录和登录源代码
- 4. 从SSH命令行历史记录删除特定历史
- 5. TFS 2010个别代码部分的更改历史记录
- 6. 从Git历史记录中删除具有历史记录的特定文件
- 7. TFS - 在Visual Studio中获取特定代码行的历史记录
- 8. 更改Javascript的历史记录
- 9. Delphi历史记录 - 源代码管理
- 10. GWT历史记录:历史记号
- 11. 在TFS 2010中更改代码语言并保留历史记录
- 12. Eclipse运行历史记录
- 13. 如何绘制git repo的代码行历史记录?
- 14. 如何执行vim特定的shell历史记录
- 15. 不使用GUI更改SQL代理历史记录属性
- 16. 如何以特定的方式从git获取更改历史记录
- 17. 如何在Subversion版本库历史记录中查找文件?
- 18. 在通知表中存储数据更改的历史记录
- 19. 如何更改git历史记录中的文件路径?
- 20. 在svn中生成文件更改的历史记录
- 21. 更改git历史记录中所有提交的时区
- 22. p4可否忽略历史记录中的更改列表?
- 23. Java编辑器中的Eclipse SVN更改历史记录
- 24. 如何在MySQL中保留记录更新的历史记录?
- 25. LDAP登录历史记录
- 26. Sharepoint文件修改历史记录
- 27. 如何在SQL Server中的历史记录表中存储历史记录
- 28. Django AttributeError修改字段没有跟踪更改历史记录
- 29. 如何在QT Console python中保存代码历史记录?
- 30. window.location.replace在ASP.Net代码中使用时生成历史记录
你已经解决了OP的问题,但是我仍然想知道是否有某种方法可以跟踪特定行的历史记录 - 当有太多的行和太多的修订版来手动查看时。 – JohnK 2016-03-25 19:46:46
许多gui工具,例如tortoiseSVN(在Windows上)在构建此功能方面做得很好,可以让您走过历史。通常突出显示任何相邻线条一起变化并使其容易进入该差异,然后从早期版本中选取相关行号并重复。我很高兴并且很快追踪了大型回购(> 10岁),其中包括从CVS迁移,甚至将存储库克隆作为历史记录的一部分进行剪切和粘贴。为了实现更多自动化,也许你可以将repo导入到git中,并使用其更高级的基于内容的责任能力。 – morechilli 2016-04-04 14:13:00