Git svn 不使用 svn 凭据
Posted
技术标签:
【中文标题】Git svn 不使用 svn 凭据【英文标题】:Git svn does not use the svn credentials 【发布时间】:2017-07-21 19:51:09 【问题描述】:我尝试从我们的 svn 存储库中克隆一个路径。存储库受密码保护。
我在我的 Windows 10 系统上找到了一些颠覆目录并为它们创建了符号链接。所以只有一个目录。
我打开了 git-bash 并启动了命令
svn checkout --username myuser --password mypassword svn://myserver/myrepository/myproject/trunk
SVN 在 auth/svn.simple 目录中创建了一个包含我的凭据的文件。文件以
开头K 8
passtype
V 8
wincrypt
K 8
password
...
以下命令现在成功了:
svn update trunk
现在我想使用 git-svn:
git svn clone svn://myserver/myrepository/myproject --username myuser
但我得到的只是以下响应:
Initialized empty Git repository in D:/mylocalprojectpath/.git/
W: Item is not readable: Item is not readable at /mingw64/share/perl5/site_perl/Git/SVN.pm line 153.
**Error from SVN, (220001): Item is not readable: Item is not readable**
我发现的所有关于此错误的信息都表明这是一个身份验证问题。所以在我看来,git svn 不使用 svn 的存储凭据。
我做错了什么?一些建议?
【问题讨论】:
这是一次性迁移,之后您只想使用 Git,还是想从 Git 克隆提交回 SVN 存储库? 嗨,我想使用 Git 克隆中的 SVN 存储库。 【参考方案1】:git-svn 不使用 SVN 的原因是它使用存储在 C:\Users\XXXX.subversion 的凭据,它是由 git-svn 创建的,而不是 SVN。 在我的情况下,来自 SVN 的错误,(220001):项目不可读:项目不可读也会发生。
解决方案是将凭证从 SVN 移动到 git-svn:
-
使用 SVN 从服务器签出。记得保存身份验证。这可以为 SVN 创建凭据。文件存储在 C:\Users\XXXXX\AppData\Roaming\Subversion。
删除用户目录 C:\Users\XXXXX 下的 .subversion 文件夹(如果存在)。然后将 C:\Users\XXXXX\AppData\Roaming\Subversion 文件夹复制到 C:\Users\XXXXX。
然后将其重命名为 .subversion。由于名称以“.”开头,您可能需要在 cmd 控制台中使用“rename”命令对其进行重命名。
终于可以使用git-svn clone了。
【讨论】:
@Gerard 我想我回答了这个问题。问题是关于 git-svn clone 失败。我也遇到了这个问题。它是由 git-svn 凭据问题引起的。解决方案是将原始 SVN 凭据应用于 git-svn 凭据。以上是关于Git svn 不使用 svn 凭据的主要内容,如果未能解决你的问题,请参考以下文章