Может быть, я пропустил его в других ответах, но подумал, что могу добавить.
Клиент Windows 7:
TortoiseSVN 1.8.7, сборка 25475 - 64-разрядная, 2014/05/05 20:52:12
Subversion 1.8.9, -релиз
Клиент Linux:
svn, версия 1.6.17 (r1128011)
Симлинки не только «выживают», но и могут создаваться и редактироваться в репозитории из Windows. Вам просто нужно создать файл со следующим содержимым и свойством SVN svn:special
= *
.
link name_of_source_file
Когда вы проверите это с клиентом SVN, который знает, как создавать символические ссылки, одна будет создана для вас. Клиент Windows 7 создает текстовые файлы, но клиент Linux создает символические ссылки.
В ответ на комментарий zb226:
«Клиент SVN, который знает, как создавать символические ссылки» - это двоичный файл, созданный из исходного кода, который был написан для использования функции, которая знает, как создать символическую ссылку, в файловой системе, которая имеет концепцию символических ссылок.
Быстрый просмотр источника Subversion из 1.8.13 показывает в строке 608 io.c его с помощью символической ссылки функция, о которой я не знаю, существует в стандартных библиотеках Windows.
Другой ответ указывает, что существует программа под названием mklink , которую можно использовать для создания символической ссылки в Windows 1 . В C и C ++ обычно вы бы включали библиотеку вместо вызова программы, которая может существовать или не существовать. Похоже, что у Microsoft есть похожая функция под названием CreateSymbolicLink , но выглядит она очень незрелой. Я не вижу ничего о том, работает ли он в NTFS, и именно поэтому 99,9% рабочих каталогов SVN будут поддерживаться в Windows, как я ожидаю. В нем упоминается ReFS , но я не думаю, что это будет широко использоваться в течение длительного времени.
Таким образом, похоже, что доступности и стабильности символических ссылок в Windows с NTFS нет, поэтому разработчики Subversion еще не добавили код для использования эквивалентных команд Windows.
Когда (или если) символические ссылки станут повседневной частью Windows, я ожидаю, что они превратятся в версии Windows для клиентов Subversion. Большинство моих знакомых, которые работают только в Windows, даже не знают, что такое символическая ссылка, и из тех, кого я знаю, работающих с ОС, отличными от Windows, мало кто знает, что Microsoft экспериментирует с ними.
1. В документации для mklink говорится, что это относится к "Windows Vista, Windows Server 2008, Windows Server 2012, Windows 8" и странным образом не соответствует Windows 7. Я предполагаю, что на самом деле это означает, что она существует и работает в определенных версиях Windows, в которых есть определенные версии NTFS, поддерживающие символические ссылки. Я не думаю, что символические ссылки всегда существовали в NTFS.
Я только что заметил, что клиент Github Git для Windows поддерживает символические ссылки Windows NTFS. Они даже предоставляют инструкции о том, как включить его! Еще один гвоздь для добавления в гроб Subversion.