Git-Svn存储Svn密码吗?

问题描述 投票:29回答:6

我正在使用git-svn和几个工作项目,我注意到,对于我采取的每一个动作,我都会收到提示输入我的Svn密码。对于某些动作,我会多次被提示(可能是b / c后面有几个动作)。例如,在克隆存储库时,在克隆实际开始之前,我会提示5次。

我直接使用Svn的项目不会这样做。这是预期的吗?我可以做些什么来缓存我的凭据?

谢谢。

svn git-svn
6个回答
33
投票

我最终不得不一起删除auth目录,并允许Subversion为我重建它。似乎没有其他工作。对于任何不知道的人,auth目录都在〜/ .subversion(Mac / Linux)中。


5
投票

我在Sierra遇到了类似的问题。 svn使用存储的凭证工作得很好,但是git svn不会使用存储的凭证,并且会一直提示重新输入。

我的解决方案是删除钥匙串中存储的密钥,然后在任何其他程序之前使用git svn。如果git svn是将密码存储在钥匙串中的程序,则权限已正确设置。一旦git svn被用来在keychain中创建条目,那么可以使用普通的svn,并允许访问git svn创建的密钥,此时他们都会使用存储库而不会出现任何问题,并且不会提示我输入密码每时每刻。

如果任何其他程序在密钥链中设置密码,那么该程序没有问题,但git svn将不会被授予权限。


3
投票

您应该要求SVN缓存您的凭据:

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

但是,正如SO问题qazxsw poi中所提到的那样,检查一下是什么促使您输入密码。


2
投票

也许是一个愚蠢的想法,但我发现即使在重置钥匙串条目后,Subversion ignoring “—password” and “—username” options也会重新提示输入密码。所以我更改了该项的访问控制,以便“所有应用程序”都可以访问它。似乎工作?

git-svn


0
投票

我有一个类似的问题。最初我在一个远程的centos服务器上试图抓住所有远程svn分支,将它们推送到一个干净的起源,因为真正的git分支从svn到git的硬切换:

Keychain item Access Control

哪里有~240-ish远程分支。 (我无法将密码输入每个拉动中)

我最终做的是将repo scp到我的本地机器(mac)并启用keychain来处理密码缓存。我将所有svn提交到本地,然后将我的repo复制回远程机器。


0
投票

在OSX上,如果您之前使用过svn,看起来svn已经创建了一个密码条目(在OSX密钥环应用程序中),git svn不能使用也不能创建新的密码条目。症状是它每次都询问,并且SourceTree没有使用System git(也没有使用内置git,因为另一个原因)。

我的解决方案是删除此条目,然后使用git svn一次,它将创建一个正确的条目。从那时起,SourceTree也在工作。

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

© www.soinside.com 2019 - 2024. All rights reserved.