如果我使用两个网址进行svn拷贝,我会在存储库中获得一个"便宜"的副本......
svn copy http://repo_url/trunk http://repo_url/tags/release_foo
但是如果在工作目录中复制然后像这样提交它会怎么样呢......
svn copy trunk tags/release_foo svn commit tags/release_foo
该副本创建自动添加的文件的本地副本.它们仅在提交时进入存储库.
doco中的示例似乎总是使用url来进行标记或分支的url复制,但是我找不到任何明确说明你不应该使用WC到WC然后提交的东西.
那么这两种方法是一样的吗?两者都在存储库中创建廉价副本吗?
当你在本地进行复制时,你当然会因复制本地机器上的文件而产生空间和时间成本(你的本地文件系统不知道SVN增量),但是当你去提交时,你应该只看到它复制的目录结构的根列为已添加(带历史记录).因此,当您提交时,它将在服务器上创建"廉价"副本.
也就是说,URL复制方法通常首选用于分支或标记,因为它不需要您检出存储库根目录(包括所有分支和标记 - 这将是巨大的!).正常的用例是分支/标记服务器端(使用URL副本),然后根据需要检查分支/标记以进行工作.
如果您只是出于某种原因复制工作副本中的文件或文件夹(比如说您将一个类文件分成两个并且想要保留常用历史记录),那么只需svn copy
在WC中使用即可.