资源密集型项目的SVN-代码和;单独存储库中的资源?
我读了一篇有趣的关于是否将独立项目纳入各自回购协议的讨论。但我的问题是关于一个项目,它有代码,然后是大量的艺术品-至少数百Mb。在一个简单的可用性水平上,告诉开发者“去拿一份工作副本”意味着等待整个艺术部分下载的时间太长了,这让人恼火。我担心当我们更多地使用分支时,这将是一个巨大的膨胀 从概念上讲,这是一个项目。但是,当我与repos合作时,他们希望我单独获得几个子目录的工作副本,事情似乎不知怎么搞砸了。最有可能是由于用户错误,但关键是要减少用户错误的发生资源密集型项目的SVN-代码和;单独存储库中的资源?,svn,Svn,我读了一篇有趣的关于是否将独立项目纳入各自回购协议的讨论。但我的问题是关于一个项目,它有代码,然后是大量的艺术品-至少数百Mb。在一个简单的可用性水平上,告诉开发者“去拿一份工作副本”意味着等待整个艺术部分下载的时间太长了,这让人恼火。我担心当我们更多地使用分支时,这将是一个巨大的膨胀 从概念上讲,这是一个项目。但是,当我与repos合作时,他们希望我单独获得几个子目录的工作副本,事情似乎不知怎么搞砸了。最有可能是由于用户错误,但关键是要减少用户错误的发生 我似乎记得的另一个问题是,在子目录上设
我似乎记得的另一个问题是,在子目录上设置每个用户的权限不会让人们简单地获得repo的工作副本,而会忽略未经授权的文件夹。相反,它只是打破。。。我真的不希望我的艺术家能够更改(甚至看到)代码。您也可以使用一个回购,但将资源存储在单独的树中。也就是说,只需移动通常的布局即可
trunk/
branches/
tags/
下面是一个新文件夹,您可以调用code
或类似的东西,并将资源存储在artwork
文件夹中。也就是说,创建这样的文件夹结构
code/
trunk/
branches/
tags/
resources/
trunk/
branches/
tags/
开发人员通常只想获得代码主干,并且由于他通常在第一个布局中获得
trunk
,因此他只需要在第二个布局中获得code/trunk
。我没有尝试过这个,但是如果代码本身依赖于资源,您可能可以通过svn:externals
来提取它们,您可以对资源进行单独的repo,只需使用svn:externals属性来引用它,避免所有这些用户错误。看起来可以减少从Subversion存储库导入和导出此类数据所需的时间。我仍然会将数据放在一个存储库中,以允许您集中分支和合并此项目。特别是在标记发布时,发布时必须在2个存储库中标记
你可以这样做:
/svn/repository/trunk/src
/svn/repository/trunk/artwork
并告诉开发人员只签出
src
,艺术人员签出artwork
,当进行分支时,您可以对主干进行分支/标记,这意味着一旦您进行分支或标记,您的外部目标仍然是移动的。您必须进行分支/标记,然后编辑外部以使用固定版本或其自己的分支/标记,以获得正确的结果。这意味着,一旦您进行分支或标记,您必须同时进行分支/标记,然后编辑外部以使用分支或标记。我同意分支/标记要执行两次,但这很容易编写脚本,并且可以自动化。不是二进制文件。艺术资源,通常不是可压缩的-例如PNG不会真正压缩,视频文件也不会。这是一件好事,但并不能真正解决问题。我已经解决了。老实说,这不关你的事。如果你想帮忙,就帮忙,而不是得到毫无意义的分数。