在版本控制中开发和使用通用库的最佳实践?
我一直都想知道如何将一个积极开发的用于两个或更多项目的公共库存储在版本控制中。 我认为它可以以不同于第三方库的方式进行处理,因为内部库更有可能获得应该分发给版本控制中许多项目的热修复。
它的二进制文件是否应该在更新时使用它的项目(几乎就像第三方库),还是可以将其源代码与项目一起检出? 是否可以在Subversion或其他版本控制系统中引用其他版本控制路径?
我正在一个项目中工作,该项目有一些共同的库,它们驻留在Subversion的其他地方(并在许多项目中使用),因此在该项目中对它们所做的任何更改都不会反映在它们的“真实”存储库中。 我将建议对此进行一些更改,但我想了解处理这些常用库的最佳做法。
正如其他人已经提到,SVN的外部是一个很好的方法来做到这一点。 通过它们,您可以引用存储库的其他部分(或其他存储库,FTM)。 一个项目可以引用其他一些(库)项目或某个分支或标签的头部。 后两者保持稳定,前者始终与图书馆保持同步。
我已经看到了使用CVS(这里没有外部参数,因此它是必须执行的检入脚本)和SVN的这些行的各种方案。 在我现在工作的公司中,我们为项目和共享库提供了不同的顶级文件夹。 这些项目可以参考图书馆。 在项目的主干上,这些外部参考通常是库的头部,标签和分支项目是指库的标签(或者有时是分支)。
如果使用Subversion,我会使用svn:externals,它允许您创建一个Subversion repo到另一个的依赖关系。
通过使用svn:externals属性,Subversion允许您引用其他路径。
也就是说,通常情况下,您需要对项目状态进行更多的控制,而不仅仅是“采取共享库头中的任何内容”。 在这种情况下,我会建议将编译的库二进制文件提交到使用它的每个其他项目中。 这样,您就可以控制将库部署到每个客户端。
链接地址: http://www.djcxy.com/p/37525.html上一篇: Best practices for developing and using common libraries in version control?
下一篇: How to get started deploying PHP applications from a subversion repository?