Структура каталогов различных проектов в хранилище и на компьютере разработчика - PullRequest
1 голос
/ 21 ноября 2011

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

module 1
    - branches
    - tags
    - trunk

module 2
    - branches
    - tags
    - trunk

module 3
    - branches
    - tags
    - trunk

На машине для разработки (Windows XP) мы должны объединить файлы из разных модулей в совершенно разную структуру папок (даже файлы из разных модулей находятся в одном каталоге).

Теперь моя проблема в том, как сохранить такой тип папки проекта разработки под контролем версий?Сейчас я делаю отдельную проверку своего модуля, и всякий раз, когда я изменяю что-либо в папке разработки, я копирую файл в папку проверки и затем фиксирую его оттуда.Но я что-то могу сделать напрямую из папки разработки, так как в текущей настройке есть вероятность, что я могу что-то упустить.

РЕДАКТИРОВАТЬ: Примечание: я не могу изменить структуру каталоговхранилище.

Ответы [ 3 ]

2 голосов
/ 21 ноября 2011

У меня есть похожий проект, который отлично работает с внешними SVN.Создайте мастер-проект, который не имеет собственных файлов, но имеет объявление svn: externals, например:

^/module1/trunk module1
^/module2/trunk module2
^/module3/trunk module3

Если вы извлекаете мастер-проект, желаемая структура каталогов будет проверена.

1 голос
/ 21 ноября 2011

Это не ответ на вопрос, а скорее sidenote, который слишком длинен для комментария

ИМО, который является неправильной структурой проекта.Поскольку вы уже объединяете модули на своем ПК, вы должны делать это и в SVN.Это должно быть примерно так:

- branches
    project
      module1
      module2
      module3
- tags
    project
      module1
      module2
      module3
- trunk
    project
      module1
      module2
      module3

В качестве альтернативы посмотрите на включение module2 / 3 в качестве внешних элементов для module1 svn (например, Добавление внешнего проекта в хранилище subversion )

0 голосов
/ 21 ноября 2011

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

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

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

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

...