У нас есть два отдельных rails_app, foo/
и bar/
(раздельно по уважительной причине). Оба они зависят от некоторых моделей и т.д. В папке common/
, в настоящее время параллельной foo
и bar
.
В нашей текущей настройке svn используется svn:externals
для обмена common/
. В эти выходные мы хотели попробовать git. После долгих исследований выяснилось, что "кошерный" способ решить эту проблему использует git submodule
. Мы получили эту работу после разделения foo
, bar
, common
на отдельные репозитории, но затем реализовали все строки :
- Всегда завершайте подмодуль перед выполнением родительского элемента.
- Всегда подталкивайте подмодуль, прежде чем нажимать родителя.
- Убедитесь, что подмодуль HEAD указывает на ветвь, прежде чем совершать ее. (Если вы являетесь пользователем bash, я рекомендую использовать git -completion для размещения текущего имени ветки в приглашении.)
- Всегда запускайте обновление подмодуля git после переключения ветвей или вытягивания изменений.
Все эти ошибки осложняют вещи, кроме add
, commit
, push
. Мы ищем более простые способы обмена common
в git. Этот парень, кажется, имеет успех, используя git subtree
расширение, но отклоняющееся от стандартного gitand все еще выглядит не так просто.
Это лучшее, что мы можем сделать, учитывая нашу структуру проекта? Я не знаю достаточно о плагинах/механизмах rails, но это похоже на возможный способ доступа к библиотекам RoR-ish.
Спасибо заранее.