追踪最后一个标签?

时间:2014-04-08 20:37:40

标签: svn tags tortoisesvn branch

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

1 个答案:

答案 0 :(得分:0)

  • 我可以理解你的“基础”问题:如果你想从版本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