【问题标题】:How do you get a list of changes from a Subversion repository by date range?如何按日期范围从 Subversion 存储库中获取更改列表?
【发布时间】:2008-09-26 19:58:52
【问题描述】:

我想要的是能够生成一个简单的报告,它是特定日期范围内 svn log 的输出。具体来说,自“昨天”以来的所有变化。

除了对时间戳的 svn 日志输出进行 grep 处理之外,在 Subversion 中是否有一种简单的方法来完成此操作?

例子:

svn -v log -d 2008-9-23:2008-9:24 > report.txt

【问题讨论】:

    标签: svn


    【解决方案1】:

    谷歌第一次点击“svn log date range”:http://svn.haxx.se/users/archive-2006-08/0737.shtml

    所以svn log <url> -r {2008-09-19}:{2008-09-26} 会得到 过去一周的所有变化, 包括今天。

    如果您想为 repo 生成报告,有一个解决方案:Statsvn

    HTH

    【讨论】:

    • 很遗憾,此日志不准确,这是常见问题apache.org/dev/version-control.html#date-revisions
    • 对我来说,在 Powershell 中,我必须在日期范围内加上单引号。
    • 请记住,如果您不指定时间,subversion 将假定为 00:00:00。因此,如果您需要包括 sep 19 和 sep 26 在内的所有日志,则必须指定 {2008-09-19}:{2008-09-27}
    • 其实,this page是google最先命中的“svn log date range”...
    【解决方案2】:

    您可以像使用修订号一样使用日期。语法是 {yyyy-mm-dd}。因此,对于 9 月 23 日凌晨 12:00 到 9 月 24 日凌晨 12 点之间的所有更改,请执行以下操作:

    svn log -v -r {2008-09-23}:{2008-09-24} > report.txt
    

    【讨论】:

    • 您可能想要添加时间戳,否则它会将它们都视为 00:00:00(我认为是本地时区?)示例:svn log -v -r {2008-09-23T00:00:00-0500}:{2008-09-24T:23:59:59-0500} &gt; report.txt
    【解决方案3】:
    svn log -r '{2013-9-23}:{2013-9-24}'
    

    这可能是正确的语法。
    需要引用才能获得正确的结果。

    【讨论】:

      【解决方案4】:

      如果您想查看实际更改的列表(在日志消息之外...如果有的话!;))

      ,-v 很重要

      【讨论】:

        【解决方案5】:

        你可以这样做:

        svn log -r{2008-9-23}:{2008-9-24} > report.txt
        

        如果您想获得 xml 格式的输出以便“更轻松”进行后期处理,请在 -r 之前添加 --xml

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-01-15
          • 2022-01-01
          • 1970-01-01
          • 2013-03-02
          • 1970-01-01
          • 2014-10-01
          • 1970-01-01
          相关资源
          最近更新 更多