Как изменить автора по умолчанию для доступа к локальному репозиторию SVN?

StackOverflow https://stackoverflow.com/questions/45624

Вопрос

Я использую TortoiseSVN для доступа к локальному репозиторию на основе файлов.Во всех моих коммитах автором является мое имя для входа в Windows.Можно ли использовать другое имя?

Я знаю, как изменить автора после фиксации, но как изменить до?Установка apache/svnserver невозможна.

Это было полезно?

Решение

Да, это возможно.

Черепаха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.

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

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

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

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

Я предлагаю установить хук post-commit-hook (в папке хуков вашего репозитория — просто скопируйте 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) с тем же содержимым

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top