我發現了很多關於如何更改特定修訂的用戶名的例子等等。SVN更改用戶名
但我需要的是這樣的: 我做了結帳與同事的認證證書,並需要爲未來的承諾將其更改爲我的憑據。
我不能用我的憑據結帳由於已經已經做了很多的變化...
任何人都熟悉這個?
我發現了很多關於如何更改特定修訂的用戶名的例子等等。SVN更改用戶名
但我需要的是這樣的: 我做了結帳與同事的認證證書,並需要爲未來的承諾將其更改爲我的憑據。
我不能用我的憑據結帳由於已經已經做了很多的變化...
任何人都熟悉這個?
您可以
顛覆1.6更改用戶和更早版本:
svn switch --relocate protocol://[email protected]/path protocol://[email protected]/path
顛覆1.7及更高版本:
svn relocate protocol://[email protected]/path protocol://[email protected]/path
要找出protocol://[email protected]/path
是,r聯合國
svn info
在你的工作拷貝
。
我相信你可以從你的同事的分支創建你自己的分支(使用你自己的憑證),從你的同事的分支合併到你的工作副本,然後從你的分支合併。所有將來的提交都應該標記爲來自你。
您可以要求您的同事創建一個補丁程序,該補丁程序會將所有已做成單個文件的更改合併到您自己的簽出文件中。這將更新所有的文件適當的,然後你可以恢復在他身邊的變化,並檢查你的
我有完全相同的問題,發現Where does SVN client store user authentication data?解決方案:
cd
到~/.subversion/auth/
。fgrep -l <yourworkmatesusernameORtheserverurl> */*
。(對於Windows,步驟是類似的; auth
目錄在%APPDATA%\Subversion\
)。
請注意,這僅適用於SVN訪問方案,其中用戶名是服務器登錄的一部分,因此對於使用file://
訪問的存儲庫是沒有用的。
最簡單的方法是簡單地在下次結賬或提交時使用--username選項。例如:
svn commit --username newUser
或
svn co --username newUser
然後它將被緩存和將被用作未來命令默認用戶名。
+1一個簡單的解決方案 –
我這樣做,然後'SVN info',我看到在'Author'線沒有變化。 – vsync
從上面的鏈接:「當Subversion直接訪問存儲庫關閉文件系統,它使用文件系統權限來訪問存儲庫(當您通過SSH隧道連接,SVN使用服務器上的FS的權限,如確定。您的SSH登錄名。)因此,svn checkout --username可能無法用於您的存儲庫。「 –
如果協議是HTTP和你使用Subversion 1.7,你可以通過簡單地使用在任何命令全局--username選項隨時切換用戶。
當Ingo的方法不適用於我時,這是我發現的工作。
請提供示例代碼 – vsync
此外,對於那些誰碰巧實現爲時已晚,他們犯下了錯誤的憑據,該解決方案(事後)是改變該修訂的SVN作者:看this question
基本語法:
svn propset --revprop -r (revision_number) svn:author (new username)
基於Ingo Kegel's solution我創建了一個「小」 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
希望你覺得它有用!
轉到Tortoise SVN --> Settings --> Saved Data
。
有一個選項可以清除認證數據,點擊清除按鈕,它將允許你選擇你想要清除userid/pwd的連接。
當你這樣做,任何結賬或更新活動後,它將重新提交用戶名和密碼。
這很簡單。您應該執行
svn up --username newUserName
就是這樣。
爲Win10,你應該刪除此文件夾,並關閉/打開IDE
C:\用戶\用戶\應用程序數據\漫遊\顛覆\權威性
,也是在我的項目沒有「 .subversion「文件夾,只有」。SVN」
有趣的問題!似乎沒有成爲除的方式[清除所有存儲的數據AUTH](http://blog.ansuz.nl/index.php/2008/10/13/tortoise- SVN-變化倉庫的憑據/) –
@Pekka:好,回答這個問題並不只對TortoiseSVN,雖然 –