Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git Svn是否存储Svn密码?_Svn_Git Svn - Fatal编程技术网

Git Svn是否存储Svn密码?

Git Svn是否存储Svn密码?,svn,git-svn,Svn,Git Svn,我在几个工作项目中使用git svn,我注意到,对于我采取的每一个操作,都会提示我输入svn密码。对于某些操作,我会得到多次提示(假定b/c在幕后有多个操作)。例如,克隆存储库时,在实际开始克隆之前,我会收到5次提示 我直接使用Svn的项目不会这样做。这是预期的吗?我可以做些什么来缓存我的凭据吗 谢谢。您应该让SVN缓存您的凭据: # $ svn update --username 'user2' --password 'password' # user1@domain.com's passwo

我在几个工作项目中使用git svn,我注意到,对于我采取的每一个操作,都会提示我输入svn密码。对于某些操作,我会得到多次提示(假定b/c在幕后有多个操作)。例如,克隆存储库时,在实际开始克隆之前,我会收到5次提示

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


谢谢。

您应该让SVN缓存您的凭据:

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

但是,正如SO问题中提到的,请检查到底是什么提示您输入密码。

我最终不得不一起删除auth目录,并允许Subversion为我重建它。似乎没有别的办法。对于任何不知道的人来说,auth目录位于~/.subversion(Mac/Linux)中。

我也遇到了类似的问题。最初,我在一台远程centos服务器上,试图获取所有远程svn分支,将它们作为真正的git分支推送到一个干净的原点,以便通过以下方式实现从svn到git的硬切换:

for remote in `git branch -r` ; do git checkout $remote; git pull; done
那里有大约240个偏远的分支。(我不可能在每次拉车时都输入密码)


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

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

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


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

可能是个愚蠢的想法,但我发现即使在重置keychain条目后,
git svn
仍在重新提示输入密码。因此,我更改了该项的访问控制,以便“所有应用程序”都可以访问它。看起来有用吗


在OSX上,如果您以前使用过svn,看起来svn已经创建了一个git svn无法使用的密码条目(在OSX密钥环应用程序中),也无法创建新的密码条目。症状是它每次都会询问,SourceTree不能与系统git一起工作(出于另一个原因,它也不能与内置git一起工作)

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


我所掌握(或至少理解)的每一个迹象都表明Svn可以很好地识别密码。只有当我使用git svn时才会收到提示。我可以整天做svn操作,无需输入密码。谢谢!在我的例子中,在Windows上,这是有效的,因为在我的密码文件中,passtype=wincrypt(并且有一个加密的密码),我是从TortoiseSVN config迁移过来的。删除它时,它的工作方式与您所说的一样,但现在它以明文形式保存密码(passtype=simple)。大概它与wincrypt或其他任何东西都不兼容…仍然需要删除存储在keychain中的密码,ref谢谢你,Paul!这让我发疯。删除与git svn显示的提示相对应的密钥链项目(
身份验证领域:输入zzz svn的用户名和密码
),然后使用git svn进行设置,如您所述:非常感谢!就是这样。