如果我没有遇到this page,我就不会知道svn:externals。所以,我设置了我的工作文件夹。然后
mkdir lib/vendor
svn add --parents lib/vendor
svn ps svn:externals 'symfony http://svn.symfony-project.com/branches/1.4/' lib/vendor/
svn ci -m "add externals"
svn update"svn update“包含了整个symfony文件夹,速度非常慢。我以为那只是一次痛苦。但是,每次我输入"svn up“时,SVN都会检查外部存储库。为了让"svn更新“足够快,我必须使用--ignore-externals。
我想知道svn:externals有什么好处,如果它这么慢。我宁愿将symfony复制到我自己的存储库,这肯定是一个更快的解决方案。
发布于 2010-07-31 19:50:17
SVN外部也与项目组织有很大关系。外部可以是完全不同的SVN repos,这意味着您可以设置不同类型的安全性、保护、访问、提交前挂钩、提交后挂钩等。很难对单个SVN repo中的不同文件夹执行不同级别的访问(如果没有VisualSVN之类的帮助),并且尝试对单个SVN repo中的不同文件夹执行不同的备份或安全方法是非常困难的(而且可能是不明智的)。External允许我们用一个svn up将几个不同的存储库拼接在一起,这让我们有了更多的自由。
Subversion外部用例:
发布于 2010-07-31 18:01:54
你使用外部变量的方式是为那些想要修改一些代码的人准备的,例如,如果你在一个内部项目中,所有种类的库和应用程序都是共同开发的。通常,您不应该在没有充分理由的情况下这样做,因为外部中的代码修订可能会破坏您的代码-如果您没有权利修复外部,那么使用它就会变得有点麻烦。
您可以将外部存储库的特定修订提取到您自己的存储库的所谓供应商分支中,也可以将修订参数开关添加到您的外部定义中,例如:
http://thinkinging.com/2008/10/21/set-the-revision-of-your-svnexternals-or-else/
发布于 2010-07-31 18:02:39
svn:外部机制的行为正如所宣传的那样。问题是您正在使用一个公共subversion存储库(通过internet访问),我假设它是一个本地存储库。因此,在更新内部存储库和外部引用存储库的时间上,您会看到明显的差异。
复制到您的存储库肯定是一个可行的解决方案。如何做到这一点在Subversion book中有明确的说明。
https://stackoverflow.com/questions/3377593
复制相似问题