특정 개정판의 사용자 이름을 변경하는 방법에 대한 많은 예를 찾았습니다.
그러나 내가 필요한 것은 이것이다. 나는 직장 동료의 인증 자격 증명으로 체크 아웃을했고 향후 커밋을 위해 그것을 내 자격 증명으로 변경해야한다.
이미 많은 변경이 이루어 졌기 때문에 내 자격 증명으로 체크 아웃 할 수 없습니다.
이것에 익숙한 사람?
특정 개정판의 사용자 이름을 변경하는 방법에 대한 많은 예를 찾았습니다.
그러나 내가 필요한 것은 이것이다. 나는 직장 동료의 인증 자격 증명으로 체크 아웃을했고 향후 커밋을 위해 그것을 내 자격 증명으로 변경해야한다.
이미 많은 변경이 이루어 졌기 때문에 내 자격 증명으로 체크 아웃 할 수 없습니다.
이것에 익숙한 사람?
답변:
사용자를 변경할 수 있습니다.
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
작업 사본에서.
이를 수행하는 가장 쉬운 방법은 다음 체크 아웃 또는 커밋에서 --username 옵션을 사용하는 것입니다. 예를 들면 :
svn commit --username newUser
또는
svn co --username newUser
그런 다음 캐시되고 향후 명령의 기본 사용자 이름으로 사용됩니다.
svn info
변화가 보이지 않습니다 Author
.
똑같은 문제가 발생했으며 SVN 클라이언트는 사용자 인증 데이터 를 어디에 저장합니까? 에서 해결책을 찾았습니다 . :
cd
에 ~/.subversion/auth/
.fgrep -l <yourworkmatesusernameORtheserverurl> */*
.(Windows의 경우 단계는 유사하며 auth
디렉토리는에 %APPDATA%\Subversion\
있습니다.)
이것은 사용자 이름이 서버 로그인의 일부인 SVN 액세스 체계에서만 작동하므로 file://
.
fgrep
명령은이 있어야 -l
명령이 당신에게 파일 경로를 알 수 있도록. 편집하려고했는데 너무 길지 않아요.
Ingo Kegel의 솔루션을 기반으로 모든 하위 폴더의 사용자 이름을 변경하는 "작은"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
도움이 되었기를 바랍니다.