【问题标题】:svn: How do I determine the last time a certain line was changed?svn:如何确定某行最后一次更改的时间?
【发布时间】:2011-01-05 16:00:36
【问题描述】:

我有一些代码想要查看其修订历史。在示例文件中,第 300 行包含一些“有趣”的内容。如何使用 svn 查看该行何时更改并查看与该行更改有关的 svn 注释。 (请注意,该文件的先前版本可能不会在第 300 行包含我感兴趣的目标行)。

【问题讨论】:

    标签: svn blame


    【解决方案1】:
    svn [praise|annotate|blame] filename 
    

    为您提供版本号和最后的作者或编辑。

    svn [praise|annotate|blame] -v filename
    

    将为您提供更多信息。 如果你已经合并了分支,在这种情况下

    svn blame -g filename
    

    您应该使用以下命令了解所有可用选项

    svn blame --help
    

    【讨论】:

      【解决方案2】:

      svn blame -v filename。详细给出修订号、名称和日期

      【讨论】:

        【解决方案3】:

        正如其他人已经提到的,您可以使用:

        svn annotate filename
        

        显示该行最后一次修改的时间。不过要小心,因为这将显示最后一次修改该行上的任何内容。因此,如果代码在文件中被移动,即从一个位置删除,并粘贴到其他位置,它将显示该行何时移动,而不一定是何时修改。如果将行移入或移出循环或 if 语句,情况也是如此。

        【讨论】:

        • 注释听起来比责备好。至少对于我当时需要的东西。 :-)
        【解决方案4】:

        您可以使用 SVN 的 blame 命令。这将为指定的目标逐行打印作者和修订号。获得修订号后,您可以使用log 等查看提交日志和与该修订相关的其他更改。

        【讨论】:

        • 也称为 svn annotate,如果你觉得不那么报复的话。 (或者你的老板写了代码,正在看着你。)
        【解决方案5】:

        svn blame filename

        然后查看日志中的更改版本。

        【讨论】:

          【解决方案6】:

          有一个“svn blame”工具。

          【讨论】:

          • 他们也有一个“svn赞美”的别名,如果你有不好的感觉,也许这更适合你? ;)
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-06-05
          • 1970-01-01
          • 2011-02-16
          • 1970-01-01
          • 2012-06-18
          • 1970-01-01
          • 2011-11-11
          相关资源
          最近更新 更多