跟踪最后一个标记



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

  • 我可以理解您的"基本"麻烦:如果您想从修订版 600(即 $BRANCH 的 HEAD)创建标签,只需从分支创建它

这是需要手动完成的事情

似乎你在关于 Subversion 和 SCM 的知识方面有一个大黑洞 - 每个修订版(变更集)在某个时刻都是存储库的完整状态,它包含过去发生的所有更改,即

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

  • 无论如何,您至少有 2 种方法可以修订$TAG:使用 lslog

LS-way

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字符串中的第一个字段是此标记的修订版

对数方式

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

输出中的第一个数据字段(在"|"之前)是修订号,前面加上r字符

最新更新