SVN доступ к файлу вне транка - избегайте проблем в тегах и ветвях - PullRequest
0 голосов
/ 23 марта 2020

Я ищу совет о том, как решить проблему доступа к файлам между проектами в хранилище SVN.

Допустим, у меня есть файл common.txt в проекте root (/), который используется несколькими проектами. Примерами являются общие настройки, повторно используемые фрагменты и т. Д. c. На картинке ниже представлена ​​рекомендуемая структура каталогов. Конечно, я всегда могу отклониться от этого, но это кажется практичным, и всем это знакомо. Каталоги branches или tags находятся на том же уровне, что и trunk, но под ними находятся имена тегов / ветвей в качестве каталогов, и поэтому на файл вне транка - /common.txt - нельзя ссылаться с его относительным путем, например ' ../../common.txt ', потому что из ствола он указывает на root, а из веток / тегов он указывает на каталог проекта (calc или paint в примере изображения).

Так каков типичный способ решения этой проблемы?

  • , чтобы ввести дополнительный уровень ниже trunk? Не элегантно ...
  • создать переменную оболочки, которая указывает на проект root и использовать эту переменную для достижения /common.txt? Но на другом компьютере, с другой оболочкой, он может не существовать, поэтому могут потребоваться некоторые подключения (пока у меня нет с ними опыта).
  • , чтобы создать ссылку на /common.txt для каждого проект и ссылаться на эту ссылку в коде? Он вводит дополнительный файл: ссылку.

Я бы, вероятно, go с последним, но я чувствую, что должны быть общие знания, предпочтительный способ сделать это, кто я не знаю, и я не нашел в моих поисках.

typical SVN directory tree

1 Ответ

0 голосов
/ 24 марта 2020
  1. Не смешивайте физические и логические объекты: «Проекты» существуют только в вашем мозгу, в то время как SVN работает с «Репозиторием», «Деревом», «Каталогом», «Путем». Ваши проекты - это просто какое-то поддерево SVN-репо
  2. Выберите и следуйте одной из известных хорошо зарекомендовавших себя древовидных структур в SVN ... и в любом случае вы не оперируете объектами ниже «root» вашего дерева, то есть - если вы работаете с .../trunk, вы не используете файл ниже, чем транк

Вы должны , чтобы прочитать о внешних SVN понять концепцию и правильно ее использовать

...