我有一个名为'repo‘的Subversion存储库。repo的内部是主干/和分支/目录。在分支中/有几十个发布分支,例如1.0/,1.1/。这些分支/目录包含相对较大的应用程序。
我想在repo的根目录下添加一个外部的,叫做'myExternal‘。当我定义外部时,让SVN创建myExternal/目录的唯一方法是从repo的根目录运行'svn up‘。然而,这也会导致分支的整个内容被签出,这是不可接受的(我们有许多开发人员需要将myExternal/添加到他们的repo副本中,并且不能让他们所有人都签出不需要的千兆字节的分支)。
我尝试过“svn up --set- seem”,但它似乎不能理解外部的东西。有没有办法让svn在不获取所有分支的情况下获取myExternal/?
使用SVN 1.7。
发布于 2012-04-05 05:46:11
是的,这就是subversion externals are not created unless depth=infinity的已知问题。
我认为没有办法重新设计你的目录结构,使得myExternal不是附加到存储库,而是附加到它的子文件夹,例如设置在/trunk上和/branches中的每个文件夹。
或者,您可以创建一个脚本,该脚本首先获取repo的即时数据,然后获取在repo上设置的外部变量(它可以通过读取repo: svn propget svn: externals的属性来获取)。
发布于 2014-10-02 16:19:31
外部变量只是svn签出,所以你可以手动签出它们。
您也可以使用下面这样的命令。如果您的外部数据格式不同,您可能需要对其进行一些修改。
svn propget svn:externals | awk '{print $2, $1}' | xargs -L1 svn cohttps://stackoverflow.com/questions/10019246
复制相似问题