2011-10-26 33 views
1

我最近從Subclipse切換到Subversive,我遇到了一些路障。具體來說,Subversive似乎有一個不太靈活的認證機制。 Subclipse會存儲我的憑據,如果我錯誤地輸入了它們,或者它們已經在服務器上進行了更改,它會重新提示我進行登錄。顛覆似乎並沒有這樣做,而是將繼續使用我的老無效的登錄,並簡單地顯示出與SVN錯誤彈出:Subversive Reject憑證

Some of selected resources were not committed. 
svn: Commit failed (details follow): 
svn: Negotiate authentication failed: 'No valid credentials provided' 

不幸的是,谷歌一直沒有太大的幫助與尋求變通辦法此錯誤。如何清除我的舊SVN登錄並使用Subversive重新輸入?

回答

2

幾乎所有的Subversion客戶端都試圖遵守本地命令行客戶端設置的標準。該客戶端存儲在Client Credentials

%APPDATA%/Subversion/auth/ // on Windows 
~/.subversion/auth   // on Unix&Co 

更多細節可以在 Subversion的書中找到認證的相關信息。

儘管大多數Subversion客戶端都嘗試使用現有的數據,但他們仍然有不同的代碼庫來解釋這些數據。這意味着,一個超新版本的命令行客戶端可能會使用您的Subversive版本不支持的身份驗證方法。信息存儲在這些文件中的方式也是如此。

在光明的一面:通常客戶端不會覆蓋現有文件,而不需要,他們可以通過讀取舊客戶端寫入的文件。

所以,一個可能的解決方案是讓最古老的客戶端將該信息寫入,較新的客戶端將讀取它無需修改它。

幫我曾經把命令行客戶端,通過Ant任務和Eclipse客戶端「在一起」使用的客戶端。

但這是否有助於您的情況是另一回事。對於第一次檢查,您可以備份和刪除提及的目錄並試一試。

+0

請參閱我的編輯。 svn命令行工具不會給我任何錯誤。只有顛覆性。當只有Subversive遇到問題時,我寧願不銷燬完美的認證數據。 – Cerin

+0

@Cerin - 再解釋一下 - 請檢查 –

1

我從Subclipse的角度回答這個問題,但我認爲它會有所幫助。

最後一次我看着顛覆它收集您的憑據存儲庫中的對話,並保持自己的緩存,在Eclipse中。所以你必須回到那個位置來編輯它們。也可能在Eclipse的偏好設置中可用。

Subclipse以前用這種方式工作,但用戶總是得到像這樣的問題。因此,在多年前發佈Subclipse 1.0之前,我們完全改變了它。 Subclipse根本不會收集或存儲憑證,它完全遵循Subversion,並且取決於Subversion存儲憑證。這種方法的好處是,Subversion有智能來檢測你的服務器密碼改變了,並且它會提示你輸入它存儲的新的憑證。 API的工作方式,如果您將自己的憑證存儲爲Subversive,那麼您將得不到相同的機會。你會從上面的Subversion中得到一個錯誤。

我真的不使用顛覆性的,但也許它可以讓你不是它的對話框中輸入憑據都在這種情況下,可以推遲到顛覆和它的高速緩存。當然

我會建議您切換到Subclipse的,因爲它是更加積極地維護和使用Subversion的緊密結合。 Subclipse已經支持SVN 1。7爲例,並參與了新功能的開發。