2010-03-30 3 views
1

Я работаю над большим приложением Qt с множеством виджетов, которые довольно сложны. Один из этих виджета - просмотрщик веб-камеры.Использование Git с каталогами общей (символической ссылки)

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

Рядом с этой основной директорией проекта У меня также есть каталоги приложений. Скажем, один для каждого виджета. В этом каталоге у меня есть символическая ссылка (псевдоним на windows) в каталог модуля в основной папке проекта. Это приложение имеет тогда необходимый код для создания отдельного приложения, показывающего только виджет. Например, у меня есть приложение для просмотра веб-камеры, другое для управления некоторыми устройствами и т. Д.

Эта организация с исходным кодом работает хорошо и позволяет мне разрабатывать и тестировать виджетов в независимых приложениях при совместном использовании кода с основным приложением.

В настоящее время только основной каталог проекта находится под управлением версиями с использованием подрывной деятельности.

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

ответ

1

Использование submodules, можно определить:

  • один главный проект с п ветвей (по одному на виджет/тест приложения)
  • один мерзавец репо на виджете/тестовое приложение

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

Идея остается: убедитесь, что у вас есть связанные данные в пределах одного Git repo.
Вот почему вы не найдете все виджетов в пределах один Git repo, потому что их жизненный цикл разработки может быть очень разным, один виджет от другого.

+0

Ответ на ваш отзыв превосходный. Большое спасибо. По-видимому, общие каталоги должны быть превращены в подмодули. Основное приложение и каждое отдельное приложение виджета должны ссылаться на соответствующий подмодуль. – chmike

Смежные вопросы