Как изменить автора по умолчанию для доступа к локальному репозиторию 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 с нужным именем автора и подключиться к нему.

Другие вопросы по тегам