Subversion的'Lazy Copy'在覆盖以前删除的文件时仍然很懒惰吗?

时间:2010-04-11 23:02:54

标签: svn externals

当覆盖以前删除的文件时,Subversion的“懒惰副本”仍然是懒惰的吗?

我将我的外部文件存储在每个版本的单独文件夹中:即对dojo我说:

 webroot\
  scripts\
   dojo-v-1.0.0\
   dojo-v-1.1.0\

等。 通过这样做,至少对我来说,我觉得这样可以更容易地切换到新版本。

通过仅添加每个新版本,我并没有真正给svn提供懒惰副本所需的历史记录。所以我使用的一种策略是

  • svn将旧版本复制到 新的将在哪里
  • 然后svn 删除整个文件夹
  • 然后将我的新版本解压缩到那个地方
  • 然后svn添加它们

我的想法是避免在我的仓库中存在大量重复数据。

我希望svn正在查看新文件并说,

“嘿,我已经有过一次,复制,然后删除......所以我将变得懒惰,只存储变化”。

这是我的理论 - 但这是否会在实践中发生?

P.S。是的我知道另一种方法是在文件夹上设置'外部属性' - 但这是另一个问题。

1 个答案:

答案 0 :(得分:0)

你应该阅读颠覆书中的"vendor branches"章,因为这正是他们的意思。

回答你的问题:

不,在您描述的场景中,subversion不会在新添加的文件上使用延迟副本

如果您想避免这种情况,请使用 load_dirs.pl (在供应商分支章节中也有描述)