Связывание нескольких папок в одну папку для работы относительных путей. (Fedora)

Связывание нескольких папок в одну папку для работы относительных путей. (Fedora)

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

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

  1. корень
    • альфа
      • ствол
        • стр1
        • стр2
        • стр3
      • ярлык
      • ветвь
    • Браво
      • ствол
        • стр4
        • стр5
        • стр6
      • ярлык
      • ветвь

Структура каталога сборки, которая мне нужна, следующая:

  1. корень
    • стр1
    • стр2
    • стр3
    • стр4
    • стр5
    • стр6

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

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

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

решение1

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

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

Связанный контент