我有一个项目运行如下布局:
/my_proj/trunk/
/my_proj/tags/1.0.0/
/my_proj/tags/1.0.1/
/my_proj/tags/1.0.2/
/my_proj/tags/1.0.3/
所以在tags
dir中有冻结的分支准备释放。
现在我们推出了一个只能扫描单个目录的CI服务器,与tags
中的许多目录不同。
因此可以将tags
展开为一系列提交,例如:
/my_proj/branch/release
commit 1: "ver 1.0.0"
commit 2: "ver 1.0.1"
commit 3: "ver 1.0.2"
commit 4: "ver 1.0.3"
答案 0 :(得分:0)
这个怎么样(没有经过充分测试):
从你工作的某个地方,在bash
svn copy ^/trunk@1 ^/branches/rolling -m "Creating a rolling release branch"
svn co ^/branches/rolling
cd rolling
svn list ^/tags | xargs -I {} sh -c \
"svn merge --accept theirs-full --ignore-ancestry ^/tags/{}; \
svn ci -m \"ver {}\" \
svn update \
"
这是一个伪自动脚本。 如果你的标签版本很少,你最好逐个运行命令(即不经过xargs)