Ste*_*lay 5 svn tags version-control tagging copy
在我的repo trunk中,我有一个目录unit-tests,我想要保留我的发布标记.我一直在做的是将trunk复制到新标签,然后删除unit-tests.这样好吗?这感觉不对,因为标记每个版本需要两次修改.有没有办法从svn副本中排除目录?
我有:
/trunk/unit-tests
/trunk/dir1
/trunk/file1
/trunk/file2
Run Code Online (Sandbox Code Playgroud)
我想创造:
/tags/release_123/dir1
/tags/release_123/file1
/tags/release_123/file2
Run Code Online (Sandbox Code Playgroud)
我通常使用Tortoise/Eclipse客户端,但如果需要我可以使用它.
您可以通过使用subversion 提供的svnmucc程序(自 SVN1.5 起包含在 Windows 版本中)来完成此操作。这个小工具会将多个 svnaction 收集到单个提交中。但是您需要先创建目标文件夹。不可能在单个事务中创建文件夹并复制其中的内容:这里是一个示例:
svn mkdir -m "creating a tag" http://your.serv.er/svn/repo/tags/release_123
svnmucc cp HEAD http://your.serv.er/svn/repo/trunk/dir1 http://your.serv.er/svn/repo/tags/release_123 \
cp HEAD http://your.serv.er/svn/repo/trunk/file1 http://your.serv.er/svn/repo/tags/release_123 \
cp HEAD http://your.serv.er/svn/repo/trunk/file2 http://your.serv.er/svn/repo/tags/release_123 -m "creating tag Part II"
Run Code Online (Sandbox Code Playgroud)
您还可以使用 perl/python/ruby 绑定或 svnkit(java) 来完成此任务,但我无法为此提供源代码。