2009-03-03 139 views
29

我在一些工作項目中使用了git-svn,並且我注意到,就我所採取的每一個操作而言,都會提示輸入我的Svn密碼。對於某些操作,我會多次提示(大概b/c後面會有幾個動作)。例如,在克隆存儲庫時,在克隆實際開始之前我會提示5次。Git-Svn會存儲Svn密碼嗎?

我正在使用Svn的項目不會這樣做。這是預期的嗎?我能做些什麼來緩存我的憑證嗎?

感謝。

回答

33

我最終必須一起刪除auth目錄,並允許Subversion爲我重新構建它。沒有別的東西似乎工作。對於任何不知道的人,auth目錄在〜/ .subversion(Mac/Linux)中。

+0

謝謝!在我的情況下,在Windows上,這是因爲在我的密碼文件中,我從TortoiseSVN配置遷移過來的passtype = wincrypt(並且有一個加密的密碼)。刪除它後,它就像你說的那樣工作,但現在它以明文保存密碼(passtype = simple)。據推測,它不兼容wincrypt或其他任何... – Dan 2013-08-27 14:26:33

3

你應該問SVN緩存您的憑據:

# $ svn update --username 'user2' --password 'password' 
# [email protected]'s password: 

然而,如SO質疑Subversion ignoring 「—password」 and 「—username」 options mentionned,檢查究竟是提示您輸入密碼。

+2

種種跡象表明,我(或理解,至少)是SVN識別密碼就好了。只有當我使用git-svn時纔會提示。我可以整天做svn操作,無需輸入密碼。 – 2009-03-03 10:23:33

0

我有類似的問題。最初,我是一個遠程CentOS的服務器上試圖抓住所有的遠程使用svn分支到他們推到一個乾淨的起源真正的Git分支的硬割接從SVN通過與git:

for remote in `git branch -r` ; do git checkout $remote; git pull; done 

那裏有〜240-ISH遠程分支。 (我沒有辦法將這些拉的密碼放在裏面)

我最終做的是將repo放到我的本地機器(mac)並啓用keychain來處理密碼緩存。我將所有svn提交本地,然後將我的repo複製回遠程機器。

3

我在Sierra有類似的問題。 svn與存儲的憑證一起工作良好,但git svn不會使用存儲的憑證,並且不斷提示重新輸入憑證。

我的解決方案是刪除鑰匙串中存儲的密鑰,然後在任何其他程序之前使用git svn。如果git svn是將密碼存儲在鑰匙串中的程序,則權限已正確設置。一旦使用git svn創建了鑰匙串中的條目,那麼可以使用正常的svn,並允許訪問由git svn創建的密鑰,此時它們都將使用存儲庫而沒有任何問題,並且不會提示我輸入密碼每時每刻。

如果有任何其他程序在密鑰鏈中設置密碼,那麼該程序沒有問題,但git svn將不會被授予權限。

+2

謝謝,保羅!這讓我瘋狂。刪除與git-svn(`Authentication realm:輸入你的用戶名和密碼爲zzz SVN`)顯示的提示對應的keychain項目,然後使用git-svn工程設置如你所描述: – Nuthatch 2016-10-03 20:32:18

2

也許一個愚蠢的想法,但我發現git-svn重新提示密碼,即使重置鑰匙串條目後。所以我更改了該項目的訪問控制,以便「所有應用程序」都可以訪問它。似乎工作?

Keychain item Access Control