Можно ли установить один файл как внешний в Subversion?
Можем ли мы установить один файл как внешний в Subversion?
Ответ 1
Да, возможно с svn 1.6. Это документировано в ночной версии svn-книги.
Но даже несмотря на то, что внешние файлы работают, вы должны делать это только с текстовыми файлами (пока), потому что двоичные файлы не будут работать правильно как внешние файлы.
Ответ 2
Я не мог найти хороший пример того, как создать внешний файл svn. Поэтому я приводил пример, чтобы он мог быть полезным для других.
Формат
svn propset svn:externals "<local file> <remote svn file>" <local dir>
Например, следующая команда
svn propset svn:externals "my.cfg https://myserver/my/svn/location/my_sample_file.cfg.template" my_folder
создаст файл https://myserver/my/svn/location/my_sample_file.cfg.template под my_folder
как my.cfg
. Здесь, очевидно, я предполагаю, что у вас уже есть папка my_folder
под вашим текущим каталогом, находящимся под svn.
Ответ 3
Для SVN 1.9.4 синтаксис подобен папке one:
svn propset svn:externals <remote file> <local file>
Например, это создаст файл local.txt
в текущем каталоге, относящемся к file.txt
:
svn propset svn:externals ^/trunk/path/to/file.txt local.txt
Ответ 4
Как уже упоминалось в первом ответе, SVN Externals документируются в Глава 3 книги SVN, и приводится немало примеров синтаксиса есть.
Кроме того, данная заметка дана:
"Поскольку свойство svn: externals имеет многострочное значение, мы настоятельно рекомендуем использовать svn propedit вместо svn propset."
В моем опыте тестирования Tortoise SVN v1.9.6 и svn.exe v1.9.5 результаты были задокументированы.
- Работает во внешней папке со всеми ее файлами.
- Работает в одном файле из того же самого репо.
- Приведение одиночного файла из другого репо завершается, и это ограничение документировано в книге SVN.
Это приводит к неуклюжим обходным решениям. Если вы управляете обоими репозиториями, вы можете клонировать отдельный файл в свою собственную папку в исходном репо (по внешним файлам из одного файла WITHIN в репо), а затем использовать внешние границы репо в целевом репо, введя всю свою папку, который содержит только один файл.
Документы для этого с клиентом Tortoise SVN на tortoisesvn.net.