В Subversion могу ли я быть пользователем, отличным от моего имени входа?
Я хотел бы знать, как получить Subversion чтобы изменить имя, под которым отображаются мои изменения.
Я только начинаю использовать Subversion. В настоящее время я использую его для кода управления версиями на ноутбуке XP, где я всегда регистрируюсь под именем моей жены. Я бы хотел, чтобы база данных subversion отображала изменения под моим именем.
позже я скопирую БД, чтобы она была доступна для всего дома. Моя жена использует офисный компьютер, где она всегда регистрируется под моим именем. Я возможно, настроить его так, чтобы он автоматически проверял измененные документы... желательно под ее именем.
в конце концов, я, вероятно, буду использовать его с машины Linux под другим именем пользователя.
есть ли способ изменить пользовательскую среду, чтобы изменить имя пользователя, которое Subversion вызывает вас? Я ожидал бы что-то вроде установки SVN_USERNAME='Mark' который будет переопределять, однако он обычно получает имя.
обновление: похоже --username флаг, который Майкл сослался на работу, чтобы изменить имя, сообщенное "svn stat", даже для локального файла: репозитории. Кроме того, он липкий, поэтому вам не нужно указывать его для следующей команды. Я даже перезагрузился, и он все еще использовал "--username" значение из моей предыдущей загрузки.
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_reposvn предложит вам для
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 и т. д.,. Вам снова будет предложено ввести имя пользователя или пароль.
Я считаю, что вы можете установить
SVN_USERпеременная окружения для изменения имени пользователя SVN.
Comments