Я новичок в Subversion и недавно научился автоматически импортировать файлы, принадлежащие другим репозиториям, используя svn:externals
. И теперь, когда я фиксирую папку ствола и создаю тег для создания моментального снимка проекта, файлы/папки, определенные как внешние, не будут добавлены в папку тега.
Например, у меня есть такая структура папок
Z:\репо\репоА
Z:\repos\repoB
Z:\Проекты\воркБ
Я установил svn:externals
на Z:\Projects\workB
на file:///Z:/repos/repoA/trunk/lib trunk/lib
, чтобы папка lib repoA
автоматически добавлялась в текущий рабочий каталог, Z:\Projects\workB\trunk
. И на самом деле, когда я выполняю SVN Update
, папка lib создается в папке trunk.
После редактирования некоторых файлов и выполнения SVN Commit...
на Z:\Projects\workB\trunk
я выбрал TortoiseSVN -> Branch/Tag
в контекстном меню. В поле To Path
введите tags/1.0.1
и нажмите OK. Тег 1.0.1 успешно создан.
После того, как я выполнил SVN Update
на Z:\Projects\workB\tags
, появилась папка с именем 1.0.1, но без внешних файлов.
Это нормально? Я ожидал, что импортированные файлы также будут там, поскольку они находятся в папке trunk рабочего каталога.
Я создал два общедоступных репозитория на Assembla, чтобы каждый мог это проверить.
- https://www.assembla.com/code/subversion-troubleshooting/subversion/nodes
- https://www.assembla.com/code/subversion-troubleshoot-b/subversion/nodes
Второй репозиторий имеет определение externals, которое извлекает папку lib
из первого репозитория. Когда я создаю тег текущих файлов магистрали из второго репозитория, он не добавляет внешние файлы в папку тегов. Кроме того, когда я извлекаю папку тегов, внешние файлы не добавляются в локальную рабочую копию.
What language/tooling are you using?
- В настоящее время я пишу код на PHP. Я понимаю вашу точку зрения, что это будет проблемой, если импорт файлов изменится. В моем случае это все мои файлы, которые я создал, включая файлы библиотеки. И на самом деле мне нужно обновить второй проект, если первый проект обновится. Так что в данном конкретном случаеsvn:externals
кажется идеальным решением. Спасибо за ваше понимание. - person Teno   schedule 18.10.2012