.png)
У меня есть репозиторий SVN, структура которого не соответствует необходимым относительным путям сборки.
Каталог репозитория SVN выглядит примерно так
- корень
- альфа
- ствол
- стр1
- стр2
- стр3
- ярлык
- ветвь
- ствол
- Браво
- ствол
- стр4
- стр5
- стр6
- ярлык
- ветвь
- ствол
- альфа
Структура каталога сборки, которая мне нужна, следующая:
- корень
- стр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 вместо определенной ревизии.