2009-01-01 98 views
217

我想知道如何讓Subversion更改我的更改顯示的名稱。我剛開始使用Subversion。我目前正在使用它在XP筆記本電腦上使用版本控制代碼,而且我總是以我妻子的名字登錄。我希望Subversion DB以我的名字顯示更改。在Subversion中,我可以成爲除我的登錄名以外的用戶嗎?

稍後我會複製數據庫,以便整個房子都可以使用。我的妻子使用辦公室電腦,她總是以我的名義登錄。我可能會設置它,以便自動檢查修改後的文檔...最好在她的名下。

最終我可能會在另一個用戶名下的Linux機器上使用它。

有什麼方法可以修改用戶環境來更改Subversion調用您的用戶名嗎?我希望像設置SVN_USERNAME='Mark'這會重寫,但它通常會得到名稱。

更新:它看起來像--username標誌邁克爾稱不工作,以改變由"svn stat"報了名,甚至對本地文件:庫。另外,它很粘,所以你不需要爲下一個命令指定它。我甚至重新啓動,它仍然使用我之前啓動時的值"--username"

回答

252

大多數Subversion命令都採用--username選項來指定要用於存儲庫的用戶名。 Subversion會記住每個工作副本中使用的最後一個存儲庫用戶名和密碼,這意味着,如果您使用svn checkout --username myuser,則無需再次指定用戶名。

As Kamil Kisiel says,當Subversion直接訪問存儲庫關閉文件系統(即庫的URL是形式file:///path/to/repofile://file-server/path/to/repo的),它使用文件系統權限來訪問存儲庫。當您的connect via SSH tunnelingsvn+ssh://server/path/to/repo),SVN在您的SSH登錄所確定的服務器上使用您的FS權限。在這些情況下,svn checkout --username可能無法用於您的存儲庫。

+0

感謝您的快速回答。 --username標誌看起來很粘,即使在重新啓動時也是如此。它在我的文件:repository中工作正常。 – markets 2009-01-03 03:43:50

11

如果使用我登錄的用戶名失敗,Subversion通常會問我「Subversion用戶名」。所以,當我懶惰(通常)時,我會讓它向我詢問我的密碼,然後按Enter鍵,然後等待用戶名提示並使用我的Subversion用戶名。

否則,邁克爾的解決方案是一個很好的方式來指定用戶名權。

+1

我認爲這是一個更好的答案,因爲它適用於所有SVN命令(checkout,commit等),其中--username標誌對於各種命令似乎不存在或略有不同... – edwardsharp 2011-11-03 22:17:51

0

TortoiseSVN的始終會提示用戶名。 (除非你不告訴它)

6

使用Subversion與Apache模塊或svnserve。我可以使用--username作爲多個用戶執行操作。

每次您以「新」用戶的身份調用Subversion命令時,您的$HOME/.subversion/auth/<authentication-method>/目錄都會爲該用戶緩存一個新條目(假設您能夠使用正在接觸的服務器的正確密碼或身份驗證方法進行身份驗證作爲那個特定的用戶)。

-3

我相信你可以設置​​環境變量來改變你的SVN用戶名。

+3

您能否提供參考那?我做了一個搜索,發現只有svn_username,這是一個有人做的補丁,我不知道它是否已經到達主線或者沒有......我想如果是的話,我會發現其他命中。 – markets 2009-01-02 02:34:31

+0

我剛試過,並沒有工作(svn v1.6.17)。 – Tobias 2013-04-17 22:05:10

69

關於svn通過SSH嘗試:

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

SVN會提示您user_name的密碼。

+6

也適用於`https:// user_name @ .../path`。 – Frank 2011-01-30 19:20:06

+1

不適用於用戶名:johndoe @示例。com – neoneye 2013-11-22 12:15:32

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

在另一個用戶帳戶上工作。不過,系統會提示您再次輸入用戶名/密碼。您需要像上面那樣登錄一次,並且您將全部設置爲以後的時間(除非您重新啓動機器)。

36

您可以設置通過〜/的.subversion /服務器默認的用戶名:

[groups] 
yourgroupname = svn.example.com 

[yourgroupname] 
username = yourusername 

請注意,舊版本SVN不支持它(例如1.3.1 [原文如此!])。

7

大部分的答案似乎是SV​​N + ssh,或者似乎不適合我們。

對於HTTP訪問,退出命令行的SVN用戶最簡單的方法是:

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

帽尖:http://www.yolinux.com/TUTORIALS/Subversion.html

2

轉到~/.subversion/auth/svn.simple/*,你會看到一個列表包含有關您的svn用戶帳戶信息的文件。只要刪除你不需要的所有其他人。

之後,當你做任何關於SVN操作的東西,比如commit,rm等等。您將再次提示輸入用戶名或密碼。

相關問題