2013-05-02 10 views
11

Mam projektu git z 2 oddziały:Kompozytor i wiele oddziałów

  • Master: Obecnie oddział „stabilną”, ale poddaje się zmieniło. Wydania są tam oznaczane.
  • Devel: gałąź rozwojowa dla następnej wersji. To jest połączone w master, gdy wydaje nam się, że niektóre funkcje są dość stabilne.

W pana, mam wymóg w moim composer.json który wykorzystuje konkretną wersję:

"require" : { 
    "triagens/arangodb" : "1.2.1", 
    "php" : ">=5.4.0" 
}, 

W moim woju branży, chciałbym użyć wersji rozwojowej zależnością:

"require" : { 
    "triagens/arangodb" : "dev-devel", 
    "php" : ">=5.4.0" 
}, 

Efektywnie, gdy gałęzie są przełączane i uruchamiany jest composer install lub composer update, chciałbym, aby kompozytor zaktualizował/zmienił zależności do odpowiednich wersji.

Ponieważ composer install --dev nie obsługuje posiadania innej wersji zależności w require-dev, nie mogę ustawić innej wersji w sekcji require-dev.

Wolałbym również nie mieć oddzielnego composer.json dla każdego oddziału, ponieważ scalenie byłoby dość bolesne.

Jeśli masz wiele oddziałów, a każda gałąź korzysta z pewnej wersji zależności, jaki jest najlepszy sposób na zrobienie tego?

Odpowiedz

20

można zachować wiele wersji composer.json pod różnymi nazwami:

  • composer.master.json
  • composer.dev.json

Wtedy, kiedy zadzwonić composer.phar install lub composer.phar update można poprzedzić żądany plik kompozytor używać:

  • COMPOSER=composer.master.json php composer.phar update
  • COMPOSER=composer.dev.json php composer.phar update

Zobacz CLI docs.

+2

To jest sprytny pomysł! :) – F21

+1

Podoba mi się twój pomysł, ale chciałbym użyć: 'composer.json' jako plik główny ' composer.dev.json' dla rozwoju –

Powiązane problemy