我的公司有两到三个使用大量常用代码的Web应用程序 - 自定义MVC框架,实用程序类,JavaScript库等。
我们不希望在每个应用中复制所有这些代码,因为我们最终会使用几个略有不同的版本。但我们不希望应用程序需要与此代码完全相同的副本,因为我们不希望更新到一个应用程序可能会破坏另一个应用程序。
有没有人有处理此问题的提示?我不认为我正在寻找技术答案 - 更多只是一般方法。
我们可以将代码放入库中,并允许应用程序保留在旧版本的库中,直到它们准备升级为止。或者我们可以将它分成多个库,因此我们不必一次升级所有内容。但是,管理库版本之间的相互依赖性会变得困难吗?
答案 0 :(得分:5)
我使用SVN和svn:externals。您希望稳定的事情应该在tags文件夹中,因此依赖项目不会受到主干中其他开发的影响。
答案 1 :(得分:0)
这取决于许多因素 - 不同的语言在图书馆方面有不同的行为。我通常处理这个问题的方法是让每个应用程序对其外部依赖项进行一系列测试,包括我编写的库,并使用它来保持对所述库的升级以免破坏应用程序。
有关您正在使用的平台的更多详细信息?可能有特定的工具可以满足您的特定需求。
答案 2 :(得分:0)
我用svn:externals来支持SVN。我们有一个共享一些代码的客户端和服务器。代码保存在服务器下(但可以移出到自己的repo),客户端使用svn:externals将其拉入。客户端中继从服务器中继拉出。但是当我们进行分支(比如说发布)时,我们会将特定转速,分支或标记中的外部引入。如果你不这样做并且你回到旧的分支并更新,你可能会得到共享代码的主干,这很可能不是你想要的。
答案 3 :(得分:0)
我会为代表最新版本的公共代码创建一个源代码控制分支。
然后,每个项目都有自己独立的代码分支,您可以在需要时快速修复,或者在接近发布时保持稳定。
您可能希望有一个Wiki,其中列出了在公共代码中找到的错误,以便共享代码的其他用户了解它并有时间在闲暇时修复它。
Git会很好用,因为它很好地将更改合并到'master'分支。