2015-07-20 33 views
2

的版本控制這是我如何使用作曲家和svn起來:使用SVN和作曲家一起 - 供應商目錄

在我的開發版本,我跑作曲家所需的軟件包下載到vendor目錄。然後我將vendor目錄與其餘的開發文件夾一起提交到svn。生產版本製作vendor文件夾的副本。

我知道,建議不要在svn中提交vendor目錄(請參閱SVN Repo in vendor with Composer),但我希望在composer update可能會中斷我的應用程序時保證安全。它允許我在這種情況下將所有內容回滾到最後一個穩定狀態。

作曲家如何工作的問題是,如果作曲家刪除整個目錄,那麼檢出的svn回購就會中斷。

如果我知道如何回滾最終打破composer update,我會切換到推薦的做法,只檢查composer.lockcomposer.json到svn。請有人向我解釋這一點。

回答

1

當您有composer.lock並運行composer install(不更新)時,您確定會得到由您「鎖定」的依賴關係。

運行composer update忽略composer.lock中的條目並嘗試下載composer.json所允許的最新依賴關係。

+0

這意味着如果'composer update'破壞了某些東西,我可以刪除'vendor'文件夾,恢復'composer.lock'並運行'composer install'?我可以永遠依賴像那樣的包裝師的保證是什麼? –

+0

你不應該在生產中運行'composer update',而只能運行'composer install'。你可以在驗證沒有任何破壞之後在本地運行更新,只需提交'composer.lock'。 – Mantas

+0

是的,我只在開發環境中運行'composer update'。 –