TortoiseSVN обновляет файл по другому пути

#svn #filesystems #tortoisesvn

#svn #файловые системы #tortoisesvn

Вопрос:

Мне просто было интересно, возможно ли это с помощью TortoiseSVN:

У меня есть файл, находящийся в одном каталоге в репозитории, скажем:

 \repowork_branchbinImportant.dll
  

Этот файл обновляется всякий раз, когда это необходимо, но всегда в этом расположении в репозитории.

У меня есть другая папка, содержащая другой исполняемый файл, т.е:

 \repoprogram_2bin
  

Чего бы я хотел, так это чтобы всякий раз, когда пользователь берет то, что находится под \repoprogram_2bin , он также получал Important.dll по пути, указанному выше.

Т.е. я не хочу размещать Important.dll внутри ‘ repo program_2 bin’, но все еще хочет, чтобы пользователь получал то, что по сути является его копией, когда они захватывают эту папку.

Ответ №1:

Да. svn: external может сделать это за вас. если у вас версия 1.6.x или выше, вы можете сделать это для одного файла, 1.5 работает только для каталогов. Синтаксис для внешних файлов таков:http://svnbook.red-bean.com/nightly/en/svn.advanced.externals.html

Вы хотите быть полностью уверены, что используете явную ревизию в качестве цели вашего внешнего. Предпочтительнее использовать тег, но подойдет версия репозитория. Цель состоит в том, чтобы иметь возможность воспроизводить более старую сборку — если вы установите свой внешний файл на магистраль, вы можете получить новую версию Important.dll если вы перестроите из более старого тега.

В мире Java есть несколько отличных инструментов для решения именно этого случая — maven и ivy действительно хорошо справляются с управлением зависимостями. Я никогда не делал ничего подобного для .NET, но я настоятельно рекомендую вам проверить это. http://refix.codeplex.com http://nathanmarz.com/blog/introducing-nanny-a-really-simple-dependency-management-tool.html может потребоваться некоторое исследование.

Комментарии:

1. Спасибо, к сожалению, мы используем только 1.5.2 и не собираемся обновляться в какой-либо момент в ближайшем будущем. Хотя это не такая проблема, я передвину все, чтобы захватить целые каталоги.

Ответ №2:

Я думаю, что вы ищете svn externals http://svnbook.red-bean.com/en/1.5/svn.advanced.externals.html .

У вас может быть внешний от \repoprogram_2bin до \repowork_branchbin