Как изменить автора по умолчанию для доступа к локальному репозиторию SVN?
Я использую TortoiseSVN для доступа к файлу на основе локального репо. Во всех моих коммитах автором является мое имя пользователя Windows. Можно ли использовать другое имя?
Я знаю, как изменить автора после коммита, но как изменить раньше? Установка apache/svnserver не вариант.
5 ответов
Да, это возможно.
TortoiseSVN и клиент командной строки svn находятся в одном и том же месте настроек в папке вашего профиля. Таким образом, вы можете просто проверить одну версию, используя svn.exe:
$ svn co --username different_user_name file:///C:/path/to/your/repo
... и Subversion с радостью заменит соответствующее имя пользователя для этого хранилища. Новые коммиты от TortoiseSVN будут всегда использовать это имя пользователя, независимо от того, с какой программой вы делаете новые проверки.
Процедура должна работать с TortoiseSVN 1.5.5. Если это не так, попробуйте очистить кеш аутентификации SVN (%APPDATA%\Subversion\auth\svn.username
) первый.
Другой возможный обходной путь (но я НЕ защищаю его) состоит в том, чтобы использовать клиентский скрипт хука перед фиксацией, чтобы изменить имя пользователя.
Сценарии хуков обсуждаются в книге Subversion, а локальные хуки обсуждаются в "Сценариях хуков на стороне клиента" в справке TortoiseSVN.
Я никогда не размещал svn на компьютере с Windows, так что это выстрел в темноте. Возможно, вы сможете создать нового пользователя Windows и указать его при просмотре, проверке, фиксации и т. Д. Допустим, вы хотите внести изменения как msznajder
, Создайте пользователя с таким именем в Windows, затем попробуйте просмотреть репозиторий с помощью Repo-браузера TortoiseSVN и укажите имя пользователя в URL - что-то вроде file:///msznajder@localhost/some/file/path
,
Я предлагаю установить post-commit-hook (в папке hooks вашего репозитория - просто скопируйте post-commit-hook.tmpl в post-commit-hook.bat и очистите его [1]
svn propset svn:author --revprop -r HEAD <author> file:///<path-to-repo>
[2]
[1] при условии, что установлен SlikSvn или аналогичный, т.е. возможен доступ через командную строку svn)
[2] (или.sh в Linux с преамбулой #!/ Bin/bash) с тем же содержимым
Насколько я знаю, TortoiseSVN не предлагает никакого способа сделать это.
Предположительно, это не рассматривается как большая проблема, поскольку доступ к файлам нецелесообразен для многопользовательских сценариев, а для однопользовательского имя автора имеет меньшее значение.
Возможный обходной путь - создать другое имя пользователя Windows с нужным именем автора и подключиться к нему.