2013-12-16 94 views
1

目前,我有一个私人的SVN回购签出在我的供应商目录与Composer合作。它工作得很好,但只要我不改变/提交的东西。当我对SVN回购进行更改后,我得到清除message that my way of working is not recommended以及我的.svn目录丢失的消息。 (丢失的.svn目录可能是因为我有多个供应商包的校验从单一的回购)SVN回购供应商与作曲家

据我所知,就在供应商目录中有一个结账是不完全的最佳实践。但它感觉相当舒适(如果它的作用)。现在,因为我不是一个喜欢坚持不良行为的人,所以我想改善这一点。

作曲家建议只给我如何在运行反正供应商目录和“最佳实践”一句话让SVN一些例子是不完全清楚,我要么。而且,this post也没有帮助,因为我没有收到Seldaek正在展示的消息。

我的问题是,用SVN管理供应商的正确方法是什么?

回答

1

推荐的方法是只对提交composer.lockcomposer.json文件。这使得您的存储库变得轻量级,因为您不必提交构成包含库的所有文件。如果您拨打composer install,Composer承诺安装完全相同的文件。

它的工作方式是将所有包含的供应商文件实际提交到项目存储库中。我在一些项目中完成了这个工作,因为除了储存库中的所有内容之外,还没有办法部署这些项目。好的部分是每个人立即检出或更新存储库都有该软件的工作副本。不好的部分是,只要从存储库中导出依赖项,就会有更复杂的更新和提交过程,因为您必须手动删除外部存储库的所有符号(如.git目录 - 您不希望如果您使用git作为回购,并且您不想在使用SVN时提交完整的git历史记录,那么就有git子模块) - 从SVN签出库的方式是相同的。

没有创建更新脚本,做你需要提交你的依赖到你的资料库的一切,你永远不会更新您的软件,除非力量。在不提交依赖关系的情况下,更新与调用composer update然后提交composer.jsoncomposer.lock中的更改一样简单。

如何依赖部署到生产服务器,如果他们不是在项目库中?在将文件复制到生产系统之前,请致电composer install。 :)

相关问题