找出谁编写/编辑了这行代码的最简单方法是啥?
Posted
技术标签:
【中文标题】找出谁编写/编辑了这行代码的最简单方法是啥?【英文标题】:What is the easiest way to figure out who wrote/edited this line of code?找出谁编写/编辑了这行代码的最简单方法是什么? 【发布时间】:2010-09-26 22:21:33 【问题描述】:这显然需要源文件受源代码控制。理想情况下,我希望有一个在 IDE(Eclipse、Visual Studio 等)下工作的工具——但外部工具也会很好。显然,可以手动浏览文件的以前版本,并比较各个版本,但我正在寻找一种能够快速查看代码部分负责人的方法。
我正在使用 CVS,但该工具应理想地与不同的源代码控制系统一起使用。
【问题讨论】:
啊,这就是所有版本控制反对者的根源。基本责任。 :-o 【参考方案1】:看起来像 blame function,在 eclipse with CVS 或 Subversion 中支持(也在 eclipse 中)
正如您所提到的,该功能的 eclipse 名称是 Show Annotations。
【讨论】:
这正是我想要的。此功能还与“历史记录”视图同步,便于查看相关签到的详细信息。【参考方案2】:您没有提到您使用的是哪个源代码控制。
如果您使用的是 Subversion,可以查看:
svn blame
:)
【讨论】:
他在最初的帖子中没有。 :)【参考方案3】:对于带有 TFS 的 Visual Studio .NET。
该功能是“注释”,与 Blame 的工作原理几乎相同。
(我个人将这些称为团队的猎巫工具)。
【讨论】:
【参考方案4】:这个问题相当广泛/开放。不知怎的,这是个好主意,可以作为参考……
在工作中,我使用带有图形界面的 Perforce。 Time-lapse 视图允许查看文件,对于每一行,它已更改的修订版本和详细信息(谁提交了更改,何时等)。您可以移动滑块来查看以前的版本。
有命令行版本:p4 annotate
。
我开始使用 Mercurial,所以我查看了它。 Version control systems comparison(好网站,我刚发现)显示命令是hg annotate
。
【讨论】:
我发现 TortoiseHg(Mercurial 客户端)也包含这个功能(Annotate Files)【参考方案5】:在包括CVS、Perforce、AccuRev、Mercurial和Team Foundation Server在内的许多版本控制系统中,命令是annotate
。
在Subversion 和RCS 中,命令为blame
。
例如,使用 CVS:
cvs annotate foo.cc > foo_changes.txt
将创建foo_changes.txt
,其中列出了与当前版本foo.cc
中每一行的最新更改相关联的修订号和用户名。对于文件的先前版本或标记版本,使用不同的选项将为您提供相同的信息。
我也需要回答这个问题,但是在阅读已经发布的答案时它并没有立即跳出来,所以希望这个摘要应该有所帮助。
【讨论】:
【参考方案6】:在 AccuRev 中,使用注释 +“版本滑块”功能更加智能,您可以选择浏览历史文件的注释版本:
(不仅是谁更改了最新修订版的内容,还包括所有个修订版)
(来源:accurev.com)
【讨论】:
【参考方案7】:对于 Eclipse 中的 perforce 插件,注释未显示在上下文菜单中。
所以我需要使用:p4 annotate my-file
,然后使用 Eclipse 浏览历史记录。
【讨论】:
以上是关于找出谁编写/编辑了这行代码的最简单方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章