Git/ Mercurial: Отдельные репозитории в структуре


Я пытаюсь попасть на Композитора / Упаковщик тренируется, и с этой целью я пытаюсь понять, как лучше управлять своим рабочим процессом, чтобы я мог создавать пакеты композитора с помощью своей платформы выбора и приложения, но будь я проклят, если смогу найти способ сделать это с помощью Git/Github или Hg/Bitbucket (или обоих).

Текущая Структура/Рабочий процесс

%path%/sites/[framework]
 - contains up to date framework git repo  
%path%/sites/[framework]/application
 - contains app specific code and is a bitbucket repo
*%path%/www/[appname]_public
 - contains public files and is a bitbucket repo i.e. "public_html" folder  

При правильном наложении псевдонимов это работает для моих текущих сайтов (каждый сайт является отдельным папка в "/сайты"). И поскольку я использую два отдельных механизма репо, я могу обновлять фреймворк для этого конкретного сайта, когда захочу, без того, чтобы это действительно повредило моему приложению и наоборот.

Поскольку пакеты содержатся в виде вложенных папок папки "приложение" (чтобы я мог их создавать и тестировать), как я могу "обернуть" эти папки в пакеты в виде отдельных репозиториев, чтобы я мог предоставить их в виде отдельных пакетов composer, доступных на github или bitbucket? Я как бы нахожусь в потеря.

%path%/sites/[framework]/application/[module]
 - contains controllers, models, views, etc... to be wrapped up as a composer
   "package" and made available on github or bitbucket as its own repo.

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

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

Является ли мой рабочий процесс серьезным недостатком или для этого мне нужно больше знаний Git? Есть более простой/лучший способ? Я с радостью перестрою свою структуру/рабочий процесс, если смогу сохранить фреймворк/код приложения сайта/пакеты в виде отдельных репозиториев с некоторым механизмом/логикой, которых мне не хватает.

Заранее благодарю за любую помощь.

Author: Landjea, 2012-10-19

1 answers

%путь%/сайты/[платформа]/приложение/[модуль] должен быть репозиторием git, которым вы делитесь с другими, отправляя его в какое-либо общедоступное (общедоступное для вашей компании, только если вы хотите) местоположение, скажем git.yourcompany.com .

Затем вы можете создать репозиторий satis composer, доступный по адресу satis.company.com, который вы инициализируете с помощью файла json, ссылающегося на ваши общедоступные репозитории. Сначала убедитесь, что вы создали файл composer.json для каждого из ваших модулей, чтобы сделать их композитор - устанавливаемый.

Затем переустановите свой проект, используя файл composer.json для каждого приложения, который будет извлекать нужные модули в нужной версии. Они появятся в %пути%/сайты/[платформа]/приложение/поставщик/ и будет создан файл автоматической загрузки.

Если ваш код можно опубликовать на github, вы можете пропустить часть git+satis и отправить свои модули на packagist.org

Возможно, я неправильно понял вашу структуру, но я надеюсь, что вы поняли идею

 1
Author: greg0ire, 2012-10-19 14:52:18