Настройка имени пользователя SVN (имя автора в Eclipse) при использовании svn + ssh - PullRequest
4 голосов
/ 31 июля 2009

Когда я фиксирую изменения в Eclipse, svn записывает имя моего автора как имя, которое я ввел при первом внесении изменений в Eclipse (Alok). Под именем автора я подразумеваю имя, которое появляется при запуске «svn log» или «svn blame».

Однако, когда я фиксирую изменения из командной строки, для имени автора устанавливается имя пользователя, которое я использую для ssh в хранилище (svnadmin). Есть ли способ установить эквивалент имени автора / имени пользователя svn независимо от имени пользователя ssh из командной строки при использовании svn + ssh? Я пытался

svn --username Alok ci 

но имя пользователя в этом случае игнорируется, и изменение относится к svnadmin.

Ответы [ 2 ]

2 голосов
/ 31 июля 2009

По замыслу вы не можете изменить имя пользователя для svn + ssh. Если бы вы могли, вы могли бы подделать кого-то другого в качестве коммиттера - когда ключ SSH обычно четко идентифицировал бы вас как коммиттера.

Итак, если вы хотите, чтобы с помощью svn + ssh отображались разные имена коммиттеров, вам нужно что-то изменить на сервере:

  1. Создайте отдельных удаленных пользователей и поместите ваш ключ в файл авторизованные_каны для пользователя, которого вы хотите использовать в качестве коммиттера. С другой стороны,
  2. Поместите command = lines в файл author_keys пользователя svnadmin. Команда должна читать /usr/bin/svnserve -t --tunnel-user Alok; опционально также с опцией --root.
1 голос
/ 10 августа 2009

Один из обходных путей - сначала включить редактирование тегов ревизий, поместив скрипт оболочки, как показано ниже, в hooks / pre-revprop-change

REPOS="$1"
REV="$2"
USER="$3"
PROPNAME="$4"

if [ "$PROPNAME" = "svn:log" ]; then exit 0; fi
if [ "$PROPNAME" = "svn:author" ]; then exit 0; fi
exit 1

Затем, после коммита, вы можете изменить svn: author с помощью

svn propset --revprop -r1234 svn:author Alok

Это не объясняет, как eclipse может установить svn: author во время коммитов, не имея ловушки pre-revprop-change. Это решение немного неудовлетворительно, потому что оно позволяет любому пользователю изменять svn: автора любого коммита, было бы неплохо узнать, что на самом деле делает eclipse.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...