Я не знаю, являются ли двигатели рельсов здесь решением, но позвольте мне рассказать, как мы решаем эту проблему в одном из наших проектов.
У нас есть основной проект и два проекта, которые в значительной степени используют большую часть одних и тех же данных (в основном модели rails). Вот как мы это настроили:
3 репозитория git:
- основной проект
- подпроект 1
- подпроект 2
Базовый проект - это полностью нормальное git-репо, но в подпроектах базовый проект - это подмодуль git. Затем символические ссылки добавляются и отслеживаются с помощью git. Например:
/subproject $: git submodule add git@git.repo:core.git core
/subproject $: cd app
/subproject/app $: ln -s ../core/models models
Теперь подпроект / приложение / модели извлекается из основного проекта. Вы можете сделать это для любого количества файлов.
для обновления из репозитория ядра:
/ subproject $: обновление подмодуля git && git commit
Очевидно, что это намного проще, чем копировать файлы. Я надеюсь, что это работает для вас.