【问题标题】:Tracing the last tag?跟踪最后一个标签?
【发布时间】:2014-04-08 20:37:40
【问题描述】:

我在存储库中创建了主干。现在我创建了一个开发分支并将其从主干中分支出来。假设此时,分支位于修订版 500。我从修订版 500 创建一个标签。现在我不断在此分支上进行更新,它达到修订版 600。现在当我创建一个标签时,我需要包含修订版 501-600 .这是需要手动完成的事情。但是我有一个脚本可以为我提供的修订号爬取 svn 日志。就像我说的 crawl.bat "tag name" revision_start revison_end 。 现在这个过程需要自动化。就像我只需要说crawl.bat "tag name" 一样,它应该找出创建标签的最后一个修订版,并将其放在revision_start 中。是否有任何 svn 命令可以执行我打算执行的操作?想找出创建标签的最新版本?

【问题讨论】:

    标签: svn tags tortoisesvn branch


    【解决方案1】:
    • 我能理解您的“基础”问题:如果您想从修订版 600(即 $BRANCH 的 HEAD)创建标签,只需创建它,从分支

    这是需要手动完成的事情

    看来您对 Subversion 和 SCM 的共同知识有一个大黑洞——每个修订(变更集)在某个时刻都是存储库的完整状态,它包含所有更改,发生在过去,即

    当您从分支的 HEAD 标记时,这个新分支的文件将具有所有更改(500-600),在先前标记后引入分支中

    • 无论如何,您至少有两种方法可以获取 $TAG 的修订版:lslog

    LS-方式

    svn ls $REPO-URL/tags/$TAG -v
      7 abream                окт 17  2012 ./
      3 teno                0 окт 17  2012 core_mod.txt
    

    ./ 字符串中的第一个字段是此标签的修订版

    svn ls $REPO-URL/tags/ -v
          7 abream                окт 17  2012 ./
          4 teno                  окт 17  2012 $TAG/
          7 abream                окт 17  2012 $ANOTHERTAG/
    

    $TAG 字符串中的第一个字段是该标签的修订版

    LOG方式

    svn log $REPO-URL/tags/$TAG -q --stop-on-copy
    ------------------------------------------------------------------------
    r7 | abream | 2012-10-17 22:14:36 +0600 (Ср, 17 окт 2012)
    ------------------------------------------------------------------------
    

    输出中的第一个数据字段(“|”之前)是修订号,前面带有r char

    【讨论】:

    • svn info 也可以完成这项工作,并且更容易解析/阅读。
    • @Lazy badger:也许我的问题不够清楚,因为在我对颠覆的了解中,这不是一个大黑洞。当我说我想包含 500-600 的修订时,我的意思是 500-600 的 svn 日志。尽管对我来说问题很清楚,但我可以看到它可以在哪里解释
    • @UnderDog - 好的,对于 this 任务,我建议将最后一个标记点​​存储为 svn-property(主干?)并使用 propget 读取它
    • 你能详细解释一下吗?您的意思是在创建标签时添加评论?抱歉,我不知道 propget 功能。也许我应该阅读更多关于它的内容
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 2010-11-11
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多