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

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

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

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

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

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

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

Ответ 1

Большинство команд Subversion используют параметр --username, чтобы указать имя пользователя, которое вы хотите использовать в репозитории. 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 может не работать для вашего репозитория.

Ответ 2

Для svn над ssh try:

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

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

Ответ 3

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

[groups]
yourgroupname = svn.example.com

[yourgroupname]
username = yourusername

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

Ответ 4

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

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

Ответ 6

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

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

Ответ 7

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

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

Ответ 8

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

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

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

Совет шляпы: http://www.yolinux.com/TUTORIALS/Subversion.html

Ответ 9

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

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

Ответ 10

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

Ответ 11

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

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

Ответ 12

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

Ответ 13

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