我想知道(对于一个单独的开发者)最好的方式是什么
我打算将我的代码放在svn中,并将共享代码作为一个单独的项目。 svn:externals存在一些我无法完全估计的问题。
我读过
但是php-projects(和其他解释的源代码)有一个特殊之处:没有最终的可执行文件来自你的库。因此,外部依赖关系始终在原始源代码上。
理想情况下,我真的希望能够在一个项目及其所依赖的项目上同时开发 。
可能的方式: 检查项目在子文件夹中的依赖关系作为主干的工作副本。我预见的问题:
我认为依赖代码不应该在项目存储库中以副本的形式结束。
*(update1:我还假设svn:如果我不能回到符号链接上,则会出现问题,请参阅my comment)
我仍在寻找不需要使用交接点的建议。它们是winxp中的一种不受支持的黑客攻击,可能会破坏某些程序*
这引出了我问题的最后一部分(因为一方对另一方有影响):如何部署具有此类依赖关系的应用程序? 我已经研究了BuildOut for Python,但它似乎与python生态系统紧密相关(从Web上解析和获取python模块等)。
我非常渴望了解您的最佳做法。
答案 0 :(得分:1)
一种方法可能是:
这有几个好处:
在Web开发和服务器管理中很流行的一些KISS自动化工具:
要点:
记录您的要求(最好是机器可读 - > yaml,ini,json,xml)并处理项目之外的依赖关系。它为您提供了一些间接性,使自动化设置和部署更容易,并且更少依赖于您的版本控制系统(关注点分离,工作的最佳工具等)。
答案 1 :(得分:0)
这可能听起来很便宜,但我想在这个问题主题中我有一个答案:svn folder structure organization
只要您留在自己的存储库中,我就不会认为svn:externals有害。只是不要过度。
使用此策略进行部署也是一块蛋糕,因为它在一个标签中是ALL(结帐,运行,利润)。您的目录结构在所有图层,分支,标记,主干上保持不变。
通过将外部指向标签(并在svn服务器上使标签只读),您可以100%确定您获得了预期的库。