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


еще один возможный обходной путь (но я не advocating it)-использовать сценарий крючка на стороне клиента перед фиксацией, чтобы изменить имя пользователя.

сценарии крючка обсуждаются в книге Subversion, а локальные крючки обсуждаются в" сценариях крючка на стороне клиента " в справке TortoiseSVN.


насколько я знаю, TortoiseSVN не предлагает никакого способа сделать это.

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

возможным обходным путем было бы создать другое имя пользователя Windows с именем автора, которое вы хотите, и подключиться к этому.


Я никогда не размещал svn на машине Windows, так что это выстрел в темноте. Возможно, вы сможете создать нового пользователя Windows и указать его при просмотре, проверке, фиксации и т. д. Допустим, вы хотите внести изменения, как msznajder. Создайте пользователя с таким именем в Windows, затем попробуйте просмотреть репозиторий с помощью РЕПО-браузера TortoiseSVN и укажите имя пользователя в URL - адресе-что-то вроде file:///msznajder@localhost/some/file/path.


Я предлагаю установить post-commit-hook (в папке hooks вашего РЕПО-просто скопируйте post-commit-hook.tmpl для post-commit-hook.летучая мышь и опустошить его [1]

svn propset svn:author --revprop -r HEAD <author> file:///<path-to-repo> [2]

[1] при условии, что установлен SlikSvn или аналогичный, т. е. возможен доступ к командной строке svn)

[2] (или.sh если на linux, с #!/ bin / bash преамбула) с тем же содержанием