我是否应该解决自己添加在我的项目中使用的第三方和 ajax 库 - 例如 tinyMCE 编辑器(超过 1800 个文件)或 fckEditor - 当我的项目不包含几乎一样多的文件时,只是为了编译?还是我应该稍后找到一种方法将其添加到构建中?
5 回答
如果特定库具有公共 SVN 存储库,您可以将它们添加为svn:external - 尽管我会将它们添加为特定的已知版本(在修订号或标签/分支上),而不仅仅是主干。
另一个替代方案是SVN Vendor Branches,它涉及更多,但更强大。
我总是将所有项目依赖项添加到源代码管理中。这样,另一个开发人员可以进行结帐(有时可以说是一个大的结帐)并准备好去,而不必弄清楚缺少什么并找到它。
处理这种情况的最佳方法是使用外部设备。这样第三方的东西就不是项目的一部分,但仍然在源代码控制中,并且仍然与其他所有东西一起检查。
这是 SVN 书中的部分: http: //svnbook.red-bean.com/en/1.0/ch07s03.html
使用Piston管理依赖项,并通过SVN externals将您的项目链接到它们。这结合了对外部库的完全控制(不依赖于库的服务器性能)和存储库的整洁性(您最终不会在存储库中发现单个库的多个副本),同时允许您轻松地切换库的版本以项目为基础。
正如大多数其他人所说,您可以使用SVN 外部来处理第三方代码,使其相当干净。有两种管理方法:
使用您的外部参考直接链接到第三方存储库,可以选择链接到特定的修订和/或标签/分支。
如果您担心第三方存储库的长期可用性,请创建自己的存储库来保存第三方代码,然后使用 svn:externals 来引用它。
第二种方法开销更大,意味着您需要手动获取第三方代码的更新并将它们应用到您的存储库中,这可以看作是优势或劣势。