1

У меня есть репозиторий SVN, структура которого не соответствует необходимым относительным путям сборки.

Каталог репозитория SVN выглядит примерно так

  1. корень
    • альфа
      • хобот
        • p1
        • p2
        • p3
      • тег
      • ветка
    • Браво
      • хобот
        • p4
        • p5
        • p6
      • тег
      • ветка

Мне нужна структура директории сборки

  1. корень
    • p1
    • p2
    • p3
    • p4
    • p5
    • p6

Я хотел бы быть в состоянии сохранить структуру SVN в одиночку, в основном потому, что у меня нет реальной возможности ее отрегулировать. Мне также хотелось бы, чтобы в случае добавления другой вещи в транк, например, p7 в альфа-канале, каталог компоновки автоматически добавлял это. Чтобы сборка работала, мне нужно иметь возможность изнутри p1 выполнить команду типа cd ../p2/ и переместить ее в папку p2.

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

Заранее спасибо.

1 ответ1

0

Один из способов сделать это (используя только SVN) - создать третий проект под root, назовите его "build". Он может иметь ствол, метки, ветви как обычно, если хотите. Внутри проекта "build" вы можете оставить свой make-файл или что-то еще, но в основном "build" будет иметь просто правило svn:externals для добавления всех необходимых компонентов (и с соответствующей ревизией). Затем вы можете создать любую структуру каталогов, которая вам нравится, оставив только обычные хранилища.

Большим недостатком этого метода является то, что становится труднее создавать изменения до их фиксации. Но вы все равно можете добиться этого, обрабатывая свои изменения из рабочей копии "build" с временным изменением svn:externals, если необходимо извлечь HEAD вместо конкретной ревизии.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .