Как работать с относительными ссылками из хранилища Subversion при ветвлении и пометках? - PullRequest
0 голосов
/ 17 августа 2011

У нас есть проект, который содержит много подпроектов, которые содержат относительные ссылки на файлы вне их ствола, на параллельный проект, содержащий общий код, например:

shared/trunk/functions.sh
subproject1/trunk/main.sh
subproject2/trunk/main.sh
..
subproject99/trunk/main.sh

Где подпроект * / trunk / main.sh неизменно содержит код, подобный этому:

# subprojectXX/trunk/main.sh
#!/bin/sh
source ../../shared/trunk/functions.sh

За время существования этого проекта мы создали теги релиза для каждого из подпроектов, например:

subproject1/tags/1.0.0
subproject1/tags/2.0.0

Теперь мне нужно сделать ветку на основе тега 1.0.0, но если я сделаю

svn cp subproject1/tags/1.0.0 subproject1/branches/1.0.1

Тогда относительные пути к общим функциям больше не работают.

Я испытываю желание сделать:

svn cp subproject1/tags/1.0.0 subproject1/trunk

Затем сделайте мою работу в транке, а затем скопируйте ее в новый тег, когда я закончу, например:

svn cp subproject1/trunk subproject1/tags/1.0.1

Однако я беспокоюсь, что это вызовет всевозможные проблемы. Мои инстинкты верны?

Спасибо за предложения по svn: externals, но я искал решение, которое было бы немного менее навязчивым для (большой) существующей базы кода.

Спасибо

пикс

1 Ответ

2 голосов
/ 17 августа 2011

Вы ищете svn:externals.

...