SVN изменить имя пользователя - PullRequest
81 голосов
/ 06 октября 2011

Я нашел много примеров того, как изменить имя пользователя для определенных ревизий и т. Д.

Но мне нужно вот что: Я сделал проверку с учетными данными аутентификации коллеги по работе и должен изменить их на свои учетные данные для будущих коммитов.

Я не могу просто оформить заказ с моими учетными данными из-за многих изменений, которые уже были сделаны ...

Кто-нибудь знаком с этим?

Ответы [ 11 ]

72 голосов
/ 06 октября 2011

Вы можете изменить пользователя с помощью

  • Subversion 1.6 и более ранние версии:

    svn switch --relocate protocol://currentUser@server/path protocol://newUser@server/path
    
  • Subversion 1.7 и позже:

    svn relocate protocol://currentUser@server/path protocol://newUser@server/path
    

Чтобы узнать, что такое protocol://currentUser@server/path, запустите

svn info

в вашей рабочей копии.

61 голосов
/ 03 января 2013

Самый простой способ сделать это - просто использовать опцию --username при следующей проверке или фиксации.Например:

svn commit --username newUser

или

svn co --username newUser

Затем он будет кэширован и будет использоваться в качестве имени пользователя по умолчанию для будущих команд.

См. Также: В Subversion я могу быть пользователем, отличным от моего логина?

52 голосов
/ 22 февраля 2012

У меня была точно такая же проблема, и я нашел решение в Где SVN-клиент хранит данные аутентификации пользователя? :

  1. cd до ~/.subversion/auth/.
  2. Do fgrep -l <yourworkmatesusernameORtheserverurl> */*.
  3. Удалить найденный файл.
  4. Следующая операция в хранилище снова запросит у вас имя пользователя / пароль.

(Для Windows шаги аналогичны; каталог auth находится в %APPDATA%\Subversion\).

Обратите внимание, что это будет работать только для схем доступа SVN, где имя пользователя является частью имени входа на сервер, поэтомубесполезно для репозиториев, к которым обращаются file://.

10 голосов
/ 21 июля 2017

<< Это очень просто.Вы должны просто выполнить </p>

svn up --username newUserName

Вот и все.>>

Работает отлично, просто подсказка: это можно сделать с помощью любой команды SVN, а не только обновления.

5 голосов
/ 15 января 2014

Если ваш протокол http и вы используете Subversion 1.7, вы можете переключить пользователя в любое время, просто используя глобальную опцию --username для любой команды.

Когда метод Ingo у меня не работаетэто было то, что я нашел, что сработало.

3 голосов
/ 17 августа 2016

Перейти к Tortoise SVN --> Settings --> Saved Data.

Существует возможность очистить данные аутентификации, нажать кнопку очистки, и это позволит вам выбрать соединение, для которого вы хотите очистить userid / pwd.

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

1 голос
/ 07 сентября 2017

для Win10 вы должны удалить эту папку и закрыть / открыть IDE

C: \ Users \ Пользователь \ AppData \ Roaming \ Subversion \ auth

, такжев моих проектах нет папок ".subversion", только ".svn"

1 голос
/ 29 июля 2014

Кроме того, для тех, кто слишком поздно осознал, что они допустили неверные учетные данные, решение (после факта) состоит в том, чтобы изменить svn-автора этой ревизии: см. этот вопрос

В основном синтаксис:

svn propset --revprop -r (revision_number) svn:author (new username)
0 голосов
/ 11 сентября 2015

Основано на решении Инго Кегеля Я создал «маленький» bash-скрипт для изменения имени пользователя во всех подпапках. Не забудьте:

  1. Измените <NEW_USERNAME> на новое имя пользователя.
  2. Измените <OLD_USERNAME> на текущее имя пользователя (если у вас в данный момент не задано имя пользователя, просто удалите <OLD_USERNAME>@).

В приведенном ниже коде команда svn только распечатывается (не выполняется). Чтобы выполнить команду svn, просто удалите echo и пробел перед ней (чуть выше popd).

for d in */ ; \
do echo $d ; pushd $d ; \
url=$(svn info | grep "URL: svn") ; \
url=$(echo ${url#"URL: "}) ; \
newurl=$(echo $url | sed "s/svn+ssh:\/\/<OLD_USERNAME>@/svn+ssh:\/\/<NEW_USERNAME>@/") ; \
echo "Old url: "$url ; echo "New url: "$newurl ; \
echo svn relocate $url $newurl ; \
popd ; \
done

Надеюсь, вы найдете это полезным!

0 голосов
/ 06 октября 2011

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

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