svn - 未在存储库中完成时 svn copy 便宜吗?

标签 svn

如果我使用两个 url 进行 svn 复制,我会在存储库中获得一个“便宜”的副本...

svn copy http://repo_url/trunk http://repo_url/tags/release_foo

但是如果在工作目录中进行复制,然后像这样提交呢...
svn copy trunk tags/release_foo
svn commit tags/release_foo

该副本创建了自动 svn 添加的文件的本地副本。它们仅在提交时进入存储库。

doco 中的示例似乎总是使用 url 到 url 副本进行标记或分支,但我找不到任何明确说明您不应该使用 WC 到 WC 然后再提交的内容。

那么这两种方法是一样的吗?两者都在存储库中创建一个便宜的副本吗?

最佳答案

当您在本地进行复制时,您当然会因在本地机器上复制文件而产生空间和时间成本(您的本地文件系统不知道 SVN 增量),但是当您进行提交时,您应该只看到复制的目录结构的根被列为已添加(带有历史记录)。因此,当您提交时,它将在服务器上创建“廉价”副本。

也就是说,URL 复制方法通常更适合用于分支或标记,因为它不需要您 checkout 存储库根目录(包括所有分支和标记——这将是巨大的!)。正常用例是分支/标记服务器端(使用 URL 副本),然后根据您的工作需要检查分支/标记。

如果您出于某种原因只是在工作副本中复制文件或文件夹(假设您将一个类文件分成两个,并且您想保留共同的历史记录),那么只需使用 svn copy在你的厕所里。

关于svn - 未在存储库中完成时 svn copy 便宜吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/456263/

相关文章:

svn - 在 Subversion 中替换整个目录树的最佳方法?

SVN 维护

git - 如何理解来自Git的SVN

SVN 建议我也合并自己合并的修订版

.net - SharpSvn 是否可以按作者检索日志消息?

windows - 日志文件中的 Tortoise SVN 作者丢失

php - 在网站上工作的独立自由职业者的专业发展部署策略?

svn - 推荐一个好的同行代码审查工具?

svn - 提交前预测修订号

svn - Subversion 中的标签是如何制作的?