2013-03-12 99 views
3

我在git倉庫中創建了供應商lib(Symfony2 Bundle)。添加了composer.json。Maintainig自己的供應商與作曲家和git Symfony2捆綁

在多個項目中,我使用它作爲供應商(vcs在composer.json中)。 一切工作正常,除非我想修改原始bunlde /供應商。

我無法直接從使用該包的projet中推送它。 我必須在新目錄中克隆bundle的repo,在那裏改變它並推送。由於捆綁不能自行工作,所以這不太方便,所以提交有點兒看看會發生什麼。

什麼是維護我自己的供應商回購的最佳做法?

+0

爲什麼不能直接從供應商目錄內推它? Git實際上支持嵌套的存儲庫。你試過了嗎? – Cerad 2013-03-12 12:54:18

回答

2

如果您的供應商是從源安裝的,您可以修改並推送它。要強制從源代碼安裝,使用--prefer-source選項:

composer install/update --prefer-source 

然後cd到供應商的目錄,你會看到它是一個單獨的git回購。您可以在那裏獲取最新版本,進行更改並將其推回。

對於第三方軟件包也是如此。在這種情況下,你只需要添加一個git remote到你的fork來推送它。

+0

謝謝,這是我一直在尋找的營養。 – admi99 2013-03-13 08:12:30

0

當我正在寫這樣的Bundle時,我有一個模擬項目(工作,但不是有目的的)。
這裏面我有克隆的Bundle的主版本,所以我可以編輯,測試,然後提交更改和推送等。

您需要確保首先工作的唯一方法是從作曲家安裝。

如果您需要更多詳細信息,請告訴我,我會爲您提供一些幫助。

+0

謝謝,這個想法很好。但是,在團隊中處理多個項目時,這並不方便。 – admi99 2013-03-13 07:22:02