Есть проекты и библиотека. Библиотека подключается через композер. Новая фича1 требует изменений в библиотеке. Параллельно фича2 требует других изменений в библиотеке. Получается 2 ветки, которые будут потом смержены в master.
"rep/lib": "^2.1.0"
Локально я могу разными вариантами разрабатывать:
- В композере указать конкретный коммит
- Удалить из vendor папку и сделать символическую ссылку на папку, где разрабатывается библиотека
- Ставить теги: 2.1.0.12, 2.1.0.13
Когда смержится в мастер, достаточно поставить тег и всё окей.
А как быть тестировщику, который разворачивает через deployer и потом вручную проверяет в браузере? Ветки ещё не смержены.
- В композере указать конкретный коммит он не может, т.к. нет доступа. Да и процесс деплоя непростой, так что если разрешить ему изменить composer.json и запустить composer install/update, то могут быть ошибки.
- Вариант с символической ссылкой для тестирования можно вообще не рассматривать.
- Если указать теги и нет других веток, то окей. Но если есть 2 ветки, то composer выберет тег с версией повыше и он может указывать на соседнюю ветку, а не нужную.
Как в таком случае организовать тестирование? До этого либо мержили перед тестированием, либо не было 2 веток одновременно.