В Subversion могу ли я быть пользователем, отличным от моего имени входа?


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

Я только начинаю использовать Subversion. В настоящее время я использую его для кода управления версиями на ноутбуке XP, где я всегда регистрируюсь под именем моей жены. Я бы хотел, чтобы база данных subversion отображала изменения под моим именем.

позже я скопирую БД, чтобы она была доступна для всего дома. Моя жена использует офисный компьютер, где она всегда регистрируется под моим именем. Я возможно, настроить его так, чтобы он автоматически проверял измененные документы... желательно под ее именем.

в конце концов, я, вероятно, буду использовать его с машины Linux под другим именем пользователя.

есть ли способ изменить пользовательскую среду, чтобы изменить имя пользователя, которое Subversion вызывает вас? Я ожидал бы что-то вроде установки SVN_USERNAME='Mark' который будет переопределять, однако он обычно получает имя.

обновление: похоже --username флаг, который Майкл сослался на работу, чтобы изменить имя, сообщенное "svn stat", даже для локального файла: репозитории. Кроме того, он липкий, поэтому вам не нужно указывать его для следующей команды. Я даже перезагрузился, и он все еще использовал "--username" значение из моей предыдущей загрузки.

13   230   2009-01-02 02:41:25

13 ответов:

большинство команд Subversion принимают указать имя пользователя, которое вы хотите использовать в репозиторий. Subversion запоминает последнее имя пользователя и пароль репозитория, используемые в каждой рабочей копии, что означает, среди прочего, что если вы используете svn checkout --username myuser вам больше не нужно указывать имя пользователя.

как говорит Камиль кисель, когда Subversion обращается к репозиторию непосредственно из файловой системы (то есть URL-адрес репозитория имеет форму file:///path/to/repo или file://file-server/path/to/repo), он использует свои разрешения файловой системы для доступа к репозиторию. И когда ты подключение через SSH-туннель (svn+ssh://server/path/to/repo), SVN использует ваши разрешения FS на сервер, как определено вашим логином SSH. В таких случаях svn checkout --username может не работать для вашего репозитория.

для svn через ssh попробуйте:

svn list svn+ssh://[user_name]@server_name/path_to_repo  

svn предложит вам для user_name'пароль.

вы можете установить имя Пользователя по умолчанию через ~/.subversion / серверы:

[groups]
yourgroupname = svn.example.com

[yourgroupname]
username = yourusername

обратите внимание, что старые версии svn не поддерживают его (например, 1.3.1 [sic!]).

"svn co --username=yourUserName --password=yourpassword http://path-to-your-svn"

работал для меня, когда на другой учетной записи пользователя. Вам будет предложено снова ввести логин/пароль. Вам нужно войти в систему, как указано выше, один раз, и вы все настроены на последующие времена(если вы не перезагрузите машину).

Если вам нужно указать имя пользователя, отличное от вашего зарегистрированного пользователя для использования с svn+ssh просто добавьте запись в свой .ssh / config file:

Host example.com
User jdoe

Subversion обычно запрашивает мое "имя пользователя Subversion", если он не использует мое зарегистрированное имя пользователя. Поэтому, когда я ленив (обычно), я просто позволю ему спросить мой пароль, и я нажму enter, и дождусь приглашения имени пользователя и использую свое имя пользователя Subversion.

в противном случае решение Майкла-это хороший способ сразу указать имя пользователя.

большинство ответов, кажется, для svn+ssh, или, кажется, не работает для нас.

для http-доступа самый простой способ выйти из SVN-пользователя из командной строки:

rm ~/.subversion/auth/svn.simple/*

наконечник шляпы:http://www.yolinux.com/TUTORIALS/Subversion.html

Я считаю, что если вы используете метод file:// для доступа к репозиторию subversion, ваши изменения всегда выполняются под пользователем, который обращается к репозиторию. Вы должны использовать метод, который поддерживает проверку подлинности, таких как HTTP:// или SVN://.

см.http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.serverconfig.choosing

использование Subversion с модулем Apache или svnserve. Я был в состоянии выполнять операции как несколько пользователей с помощью --username.

каждый раз, когда вы вызываете команду Subversion в качестве "нового" пользователя, вашего $HOME/.subversion/auth/<authentication-method>/ каталог будет иметь новую запись, кэшированную для этого пользователя (при условии, что вы можете аутентифицироваться с помощью правильного пароля или метода аутентификации для сервера, с которым вы связываетесь как с этим конкретным пользователем).

Если вы используете svn+ssh для подключения к репозиторию, то единственное, что аутентифицирует вас и авторизует, - это ваши учетные данные ssh. Все остальное игнорируется. Ваше имя пользователя будет зарегистрировано в subversion точно так же, как оно установлено в вашем ssh-соединении. Отличное объяснение этому находится в jimmyg.org/blog/2007/subversion-over-svnssh-on-debian.html

на ~/.subversion/auth/svn.simple/*, и вы увидите список файлов, который содержит информацию о вашей учетной записи Пользователя в SVN. Просто удалите все остальные, которые вам не нужны.

после этого, когда вы делаете что-либо, что касается операции SVN, например commit, rm и т. д.,. Вам снова будет предложено ввести имя пользователя или пароль.

TortoiseSVN всегда запрашивает имя пользователя. (если вы не скажете этого не делать)

Я считаю, что вы можете установить SVN_USER переменная окружения для изменения имени пользователя SVN.