Symfony2/Git/CloudControl переключается с Composer на подмодули
Мне нужно переключиться с Composer (который используется Symfony2 по умолчанию) на подмодули Git. Я думал, что смогу просто добавить нужные подмодули в нужные места, перезаписав текущую версию, установленную Composer.
Но когда я использую git submodule add
, это говорит:
'vendor/twig/twig' already exists in the index
Итак, я попробовал:
git rm vendor/twig/twig
и попытался добавить субмодуль снова, та же ошибка.
Что я делаю неправильно?
3 ответа
Проблема заключалась в том, что мне сначала пришлось удалить и удалить git-репозиторий.
то есть для ветки то, что я сделал в конце концов, было:
git rm -r vendor/twig/*
rm -r vendor/twig/*
git add vendor/.
git submodule add git://github.com/fabpot/Twig.git vendor/twig/twig
git submodule add https://github.com/fabpot/Twig-extensions.git vendor/twig/extensions
Теперь у меня есть ветки и расширения веток в качестве подмодуля git, и я могу использовать их в своем облачном приложении.
Я основатель и генеральный директор CloudControl. В настоящее время composer нарушает наш процесс построения изображений, потому что он мешает логике, которую мы должны каким-то образом обнаруживать подмодулями. Команда знает об этой проблеме и работает над ее устранением.
Я работаю в cloudControl, и мы в последнее время занимаемся этой проблемой. Что касается исходной проблемы, вы уже предложили правильное решение для замены пакетов компоновщика на подмодули git, это была просто проблема с командами git. Но делать это не имеет особого смысла, если эти подмодули git идентичны пакетам Composer, а ваш php-код все еще висит на autoload.php, предоставленном Composer.
Мы пока не обрабатываем внутри Composer, их файлы просто добавляются в репозиторий, а остальное требуют требования кода php. Однако мы обрабатываем подмодули git, поэтому, если вы хотите сделать настоящий переход с Composer на подмодули Git, лучшим вариантом будет избавление от файлов Composer (vendor
папка и composer.*
файлы), добавляя подмодули git куда угодно и снова обрабатывая зависимости php. Таким образом, все должно работать нормально, и вы бы полностью переключились на подмодули git.
Встроенная поддержка Composer входит в наши планы на будущее.