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

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

感谢。

有帮助吗?

解决方案

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

其他提示

我在Sierra遇到了类似的问题。 svn 与存储的凭证一起工作正常,但 git svn 不会使用存储的凭证,并会一直提示重新输入。

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

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

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

# $ svn update --username 'user2' --password 'password'
# user1@domain.com's password:

然而,正如在SO问题中提到的那样, Subversion忽略“&#8212 ;密码”和“—用户名”选项,检查提示您输入密码的确切内容。

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

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

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

那里有~240-ish远程分支。 (我不可能在每次拉动中输入密码)

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

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

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

https://stackoverflow.com/a/55706141/580672

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top