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 входит в наши планы на будущее.

Другие вопросы по тегам