我在存储库中创建了trunk。现在我已经创建了一个开发分支并将其从主干分支出来。让我们说,在这一点上,分支是在修订版500.我从修订版500创建一个标记。现在我继续在这个分支上进行更新,它达到了修订版600.现在当我创建一个标记时,我需要包含修订版501-600 。这是需要手动完成的事情。但是我有一个脚本可以抓取我提供的修订号的svn日志。就像我说的那样
crawl.bat "tag name" revision_start revison_end
。
现在这个过程需要自动化。就像我只需要说crawl.bat "tag name"
一样,它应该找出创建标签的最后一个修订版,并将其放在revision_start中。是否有任何svn命令可以执行我打算做的事情?想找出创建标签的最新修订版?
答案 0 :(得分:0)
这是需要手动完成的事情
看来你对Subversion和SCM的共同知识有一个大黑洞 - 每个版本(变更集)在某个时刻是存储库的完整状态,它包含所有变化,发生在过去,即
当您从分支的HEAD标记时,此新分支的文件将包含所有更改(500-600),在上一次标记后在分支中引入
ls
或log
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
char