SVN изменить имя пользователя
Я нашел много примеров о том, как изменить имя пользователя для конкретных версий и так далее.
но мне нужно вот это:
Я сделал проверку с учетными данными аутентификации напарника и нужно изменить его на мои учетные данные для будущих коммитов.
Я не могу просто проверить свои учетные данные из-за многих изменений, которые уже были сделаны...
кто-нибудь знаком с этим?
11 ответов:
вы можете изменить пользователя с
Subversion 1.6 и ранее:
svn switch --relocate protocol://currentUser@server/path protocol://newUser@server/pathSubversion 1.7 и более поздние версии:
svn relocate protocol://currentUser@server/path protocol://newUser@server/pathчтобы узнать, что
protocol://currentUser@server/pathзапуститеsvn infoв вашей рабочей копии.
самый простой способ сделать это-просто использовать параметр --username при следующем оформлении заказа или фиксации. Например:
svn commit --username newUserили
svn co --username newUserзатем он будет кэшироваться и использоваться в качестве имени пользователя по умолчанию для будущих команд.
Смотрите также: в Subversion могу ли я быть пользователем, отличным от моего имени входа?
у меня была точно такая же проблема и нашли решение в где клиент SVN хранит данные аутентификации пользователя?:
cdдо~/.subversion/auth/.- Do
fgrep -l <yourworkmatesusernameORtheserverurl> */*.- удалить найденный файл.
- следующая операция в репозитории снова запросит у вас информацию об имени пользователя/пароле.
(для Windows шаги аналогичны; the - в
%APPDATA%\Subversion\).Примечание. что это будет работать только для схем доступа SVN, где имя пользователя является частью логина сервера, поэтому он не используется для репозиториев, доступных с помощью
file://.
Если ваш протокол http и вы используете Subversion 1.7, вы можете переключить пользователя в любое время, просто используя опцию global --username в любой команде.
когда метод Инго не работал для меня, это было то, что я нашел, что работает.
на
Tortoise SVN --> Settings --> Saved Data.есть возможность очистить данные аутентификации, нажмите на кнопку Очистить, и это позволит вам выбрать, какое соединение вы хотели очистить userid/pwd для.
после того, как вы сделаете это, любая проверка или обновление активности, он будет перепрофилировать для идентификатора пользователя и пароля.
кроме того, для тех, кто слишком поздно понял, что они совершили с неправильными учетными данными, решение (после факта) состоит в том, чтобы изменить автора svn этой ревизии: см. этот вопрос
в основном синтаксис:
svn propset --revprop -r (revision_number) svn:author (new username)
для Win10 вы должны удалить эту папку и закрыть / открыть IDE
C:\Users\User\AppData\Roaming\Subversion\auth
, также в моих проектах нет ".subversion "только папки".svn"
Я считаю, что вы можете создать свою собственную ветвь (используя свои собственные учетные данные) из того же ствола, что и ветвь вашего напарника, слить из ветви вашего напарника в свою рабочую копию, а затем слить из своей ветви. Все будущие коммиты должны быть помечены как исходящие от вас.
вы можете попросить своего коллегу создать патч, который свернет все изменения, внесенные в один файл, который вы можете применить к своей собственной выписке. Это позволит обновить все ваши файлы должным образом, а затем вы можете отменить изменения на его стороне и проверить свой.
на основе решение Инго Кегеля Я создал" маленький " скрипт bash, чтобы изменить имя пользователя во всех подпапках. Не забудьте:
- изменить
<NEW_USERNAME>к новому имени пользователя.- изменить
<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надеюсь, вы найдете его полезным!
Comments