2012-10-04 157 views
0

我使用svn + ssh連接到svn存儲庫,後者依次使用unix用戶名和密碼進行身份驗證。一切正常。SVN身份驗證失敗(本地)

但是,我還在託管存儲庫的相同服務器上檢出了一個存儲庫版本。當我嘗試使用可以在svn + ssh上正常工作的相同用戶提交對此版本存儲庫所做的更改時,我得到「驗證失敗」錯誤。另一方面,更新工作正常。

可能是什麼問題?

+0

您在服務器上使用相同的協議(svn + ssh)進行簽出?如果是這樣,首先嚐試從相同的shell ssh登錄到svn url中的地址。這是否成功? – arkascha

回答

1

您必須記住,如果您通過svn://訪問,它依靠內部svn身份驗證令牌來訪問服務,而不是您的ssh憑據。

如果我創建一個SVN倉庫:

svnadmin create `pwd`/SVN 
svnserve -d --root `pwd`/SVN 

從另一個窗口:

svn co svn://127.0.0.1 
cd 127.0.0.1 
touch foo; svn add foo; svn commit -m'[foo]' foo 

產生了錯誤:

svn: Commit failed (details follow): 
svn: Authorization failed 

而:

svn co svn+ssh://127.0.0.1/home/pshanahan/SVN FRED 
cd FRED 
touch foo; svn add foo; svn commit -m'[foo]' foo 

無誤地工作,因爲它依賴於能夠以本地文件的形式訪問存儲庫。