Проект Symfony2 с Git: лучший подход? - PullRequest
5 голосов
/ 08 апреля 2011

В настоящее время я перехожу с Symfony 1.4 с использованием SVN на Symfony2 с использованием Git.Я новичок в Git и с недели читал много документации, но, к сожалению, я не могу найти способ работать так, как работал раньше с SVN.Действительно, я понял, что подход между этими двумя SCM отличается.

Позвольте объяснить, как я работал с sf1.4 и SVN.Моя структура репозитория была такой:

root    /* Main repository */
  branches
  tags
  trunk
    apps
      backend
      frontend
    cache
    [...]
    lib
      [...]
      vendor
        symfony    /* SVN external to symfony sources */
    log
    plugins
      sfThemePlugin    /* SVN external to sfThemePlugin */
      xxMyPlugin    /* SVN external to a plugin repository I develop */
    test
    web

Таким образом я смог:

  • Загрузить весь проект в моей любимой IDE с поставщиками, плагинами и моими плагинами
  • Возможность обновлять Symfony, плагины и других поставщиков из соответствующих репозиториев
  • Работать над моими собственными плагинами и фиксировать их без переключения проекта

Теперь я хотел бысделать то же самое с проектом Symfony2 и Git.Проблемы заключаются в следующем:

  • Хранилище Sf2 Git содержит в своем корне папку 'src' и 'test', поэтому мой репозиторий проекта не может включать источники Sf2, как я делал с sf1.4 без генерации конфликтов.если я добавлю некоторые файлы в 'src' и / или 'test' в свой проект или захочу обновить исходники sf2.
  • Я бы хотел, чтобы мои пакеты имели свои собственные репозитории и могли работать с ними,переключение веток, фиксация и push / pull без необходимости переключать проект, фиксировать и передавать источник пакетов независимо, а затем обновлять мои основные подмодули проекта.

Каков наилучший подход для этого?

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Мне было неясно, используете ли вы их уже или просто ссылались на «подмодули» в общем смысле, но посмотрите подмодули , чтобы все было вместе, но можно было толкать / тянуть независимо .

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

0 голосов
/ 08 апреля 2011

Я думаю, что есть путаница.

Поскольку вы говорите о src и тестовой папке, я предполагаю, что вы используете этот репозиторий: https://github.com/symfony/symfony, а не "стандартную" редакцию. В этой ситуации не помещайте содержимое в корневой каталог репозитория, а в папку vendor / symfony.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...