У нас есть проект, который содержит много подпроектов, которые содержат относительные ссылки на файлы вне их ствола, на параллельный проект, содержащий общий код, например:
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, но я искал решение, которое было бы немного менее навязчивым для (большой) существующей базы кода.
Спасибо
пикс