Composer: разработка непосредственно в пакетах поставщиков

У меня есть проект PHP, в котором я использую composer.

Моя собственная основная библиотека на самом деле является обязательным пакетом, так как я также создаю «автономную версию» для установки людьми (не только библиотеку), поэтому она попадает в каталог vendor.

Большую часть времени, которое я трачу на разработку проекта, происходит в этом пакете поставщика, который уже является клоном Git, но не в какой-либо ветке. Я могу изменить это достаточно быстро, запустив git checkout master. Однако каждый раз, когда я запускаю composer update, он либо жалуется на то, что каталог грязный, либо проверяет новую копию, с которой я должен начать, не находясь снова в ветке.

Итак, мой вопрос: есть ли какой-нибудь режим для Composer, например. получать только изменения в этом репо? Или как предпочтительнее разработать (или просто внести свой вклад) пакет поставщика одновременно с разработкой основного пакета?


person Franz    schedule 27.09.2012    source источник
comment
git stash перед запуском композитора и последующей загрузкой тайника?   -  person Squazic    schedule 27.09.2012
comment
Это всего лишь обходной путь, и именно этого я хочу избежать.   -  person Franz    schedule 29.09.2012


Ответы (3)


Пару минут назад обновления композитора теперь будут спрашивать вас, хотите ли вы отменить изменения или сделать тайник/применить до/после обновления пакета. Это должно немного помочь с такими проблемами, см. https://github.com/composer/composer/pull/1188, чтобы узнать подробности.

person Seldaek    schedule 10.10.2012
comment
Я пробовал с последней версией композитора 825b4b9c63a29c586d005de8dbbcfdfeb86bbf6f и с 1.0.0-alpha9. Я все еще не вижу вариант s. У меня есть только y, n, v, ? для вариантов, когда мой композитор сталкивается с грязным пакетом. Есть идеи? - person awei; 28.01.2015
comment
@awei stash доступен только для пакетов git, может быть, ваш пакет svn или hg? - person Seldaek; 28.01.2015
comment
@Seldaek: это определенно пакет git. Я сам написал модуль. Можете ли вы подтвердить, что опция s существует в [email protected]? - person awei; 28.01.2015

Вы можете обновить только один или несколько пакетов, указав их в конце команды обновления:

composer update pkg1 pkg2 ...
person Arnaud Le Blanc    schedule 27.09.2012

Спустя столько лет... я создал пакет, который упрощает разработку пакетов Composer при использовании их, используя «репозитории путей» Composer, но без необходимости касаться composer.json, что может быть нежелательно в репозитории, совместно используемом другими разработчиками.

Бесстыдная вилка, но это был мой собственный вопрос, так что я надеюсь, что все в порядке. :)

person Franz    schedule 21.11.2018