我家里有SVN服务器设置,目前包括我在内的3人使用。我有一些分支和标签来自/后备箱。所有用户都签出了完整的存储库,其中包括trunk,branch,tags。现在,当新标记由稳定版本构成时,所有用户都会更新其标记。这就是我所遇到的问题。很多时候,许多文件在主干中保持不变,然后在修复该版本的错误列表时标记为稳定版本。更新开始时,SVN从服务器获取所有文件,包括未更改的文件。更新标签也需要很长时间。
我想问一下是否有办法让subversion从本地trunk获取所有文件,将其放入新标签,然后更新标签并仅替换已更改的文件。所以如果trunk目录是:
行李箱
- 艺术
- 发动机
---图形
---物理//修改了
- SFX
---对话
我标记它,可以将所有文件从trunk复制到新标签中,然后相应地更新标签吗?
我知道的一个解决方案是导出主干然后更新标签。有机会有更好的方法吗?
答案 0 :(得分:3)
为什么用户需要查看完整的存储库?正常的做法是结帐你的回复/主干或/ yourrepo / branches / yourbranch。
如果您仍然出于某种原因想要检查根目录,我猜您可以通过将trunk复制到tags / yournewtag来完成您的要求,然后在该标记上使用'svn switch'。
答案 1 :(得分:0)
除非您需要使用标签(您可能不应该使用标签),否则您甚至不需要本地副本。只需输入URL svn copy的URL,例如“svn copy http://svn/repo/trunk http://svn/repo/tags/mytag”。快得多。
如果你正在谈论一个分支,我会做同样的事情,但然后检查分支机构就可以了解它。
答案 2 :(得分:0)
我正在寻找的答案是使用SVN交换机 - 这是我不知道的SVN的一个基本功能。
rlovtang回答了这个问题,但在评论中。一旦他正式回答了问题,我就会将复选标记切换到他的答案。