【问题标题】:SVN find revision of tagSVN 查找标签的修订版
【发布时间】:2011-01-15 20:40:47
【问题描述】:

有什么方法可以显示哪个版本等同于某个标签?

【问题讨论】:

    标签: svn tags revisions


    【解决方案1】:

    如果你想知道这个标签所指向的版本号,你需要使用svn log,它提供的数据格式为:

    -------------------------------------------------- ---------------------- r643 | [作者] | [日期] | [n] 行 添加标签 -------------------------------------------------- ---------------------- r643 | [作者] | [日期] | [n] 行 [日志消息] -------------------------------------------------- ---------------------- ...

    如果您添加选项--stop-on-copy,您可以找出创建该标签的修订版。在有和没有--stop-on-copy 选项的情况下运行svn log,使用该选项运行时显示的最后一个条目下方的条目将显示标签最终指向的修订版。

    或者,假设人们在您的存储库中没有做坏事(例如提交标签),您可以使用svn info,它会以以下格式返回信息

    路径:[路径] 网址:[网址] 修订:[当前存储库修订] 节点种类:目录 时间表:正常 最后更改作者:[作者] Last Changed Rev:[此特定路径已更改的最新版本] 最后更改日期:YYYY-MM-DD hh:mm:ss TZ

    你可能会打电话给svn info http://www.example.com/svn/path/to/tag

    【讨论】:

    • 但是如果我现在标记旧版本,最后更改的版本将是当前版本。
    【解决方案2】:

    试试这个

    svn log /path/to/tag -v --stop-on-copy

    你可能会看到这样的东西

    r10 |用户 | 2010-02-07 17:06:01 -0800(2010 年 2 月 7 日,星期日)| 1 行 改变的路径: 一个 /path/to/tag(来自 /path/to/branch:5)

    您可以看到该标签在修订版 5 处发生了分支

    【讨论】:

    • 这就是我要找的。谢谢!
    • 管道输出到head -2 | tail -1 | grep -o -E "^r[[:digit:]]+" 应该只打印修订。 (例如,头尾组合确保我们只对包含修订详细信息的行进行 grep,而不是提交消息。)
    • @joelpet 你的提取是不是错了?不应该修改5而不是10吗?
    • @NPS 你是对的;我的管道提取了创建标签的修订版 (r10),而问题更可能是关于标签的内容是从其原始位置复制的修订版 (r5)。
    猜你喜欢
    • 1970-01-01
    • 2017-09-07
    • 2011-02-13
    • 2011-04-22
    • 2013-07-13
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多