структура управления исходным кодом для проекта, основанного на коане - PullRequest
3 голосов
/ 12 августа 2011

В настоящее время у меня есть несколько проектов, использующих kohana в качестве фреймворка, и на данный момент у меня есть структура каталогов, подобная этой.

project
- application
- system
- modules

, каталог "project" находится под контролем ртутного источника, и я в основномскопируйте и вставьте модули, которые я использую.и передать их каждому проекту.

однако сейчас я нахожу, что исправляю ошибку в модуле, и нет простого способа распространить это исправление на все другие проекты, использующие этот модуль.

что я хочу сделать, этокак-то связать модули, чтобы я мог легко получать обновления, когда они мне нужны.(я искал подпункты для этого)

Теперь я прочитал это на ртутном сайте «Используйте хранилище с тонкой оболочкой для управления вашими репозиториями»

https://www.mercurial -scm.org/wiki/Subrepository

поэтому я придумал эту концепцию

applications
- application1 (hg repo)
- application2 (hg repo)

mymodules
- mymodule1 (hg repo)
- mymodule2 (hg repo)

project  (hg repo)
- application (sub repo pointing to applications/application1)
- modules (several git repos on github, custom modules which are in mymodules/module1 repos)
- system (git repo on github)

website
- project (links to project repo, including application, modules and system)
- assets (images, css, etc)

Теперь я думаю, что это много структуры, и я собираюсь немного потоп за то, что по сути простая проблема.

Также я не уверен, как я должен делать работу.

  1. в моем репозитории на сайте и подталкиваю к проекту, что будет возвращено к приложению, модулям и т. д.

  2. или я должен работать над репозиториями приложений и продвигаться до уровня веб-сайта?

Так это лучший способ структурировать вещи?

также необходимо ли иметь локальный клон всех модулей github, которые я использую, чтобы ускорить процесс?

любая помощь приветствуется

1 Ответ

0 голосов
/ 12 августа 2011

Хорошее решение для подпунктов, поскольку оно позволяет отделить:

  • структуру разработки (состоит из всех ваших репозиториев)
  • the структура развертывания (т. Е. Структура, необходимая для компиляции и запуска вашей программы или для правильного отображения вашего веб-сайта)

Как это работает, означает, как вы организуете управление выпуском процесс.
Вы должны внести изменения в свои репозитории, а затем распространить их на структуры развертывания (через обновления внутри проектов, а затем обновление проекта на веб-сайте).

...