Git svn 不使用 svn 凭据

Jen*_*876 4 svn windows version-control git-svn

我尝试从我们的 svn 存储库克隆路径。该存储库受密码保护。

我在 Windows 10 系统上找到了一些 subversion 目录并为它们创建了符号链接。所以它只是一个目录。

我打开 git-bash 并启动命令

svn checkout --username myuser --password mypassword svn://myserver/myrepository/myproject/trunk
Run Code Online (Sandbox Code Playgroud)

SVN 在 auth/svn.simple 目录中创建了一个包含我的凭据的文件。该文件开头为

K 8
passtype
V 8
wincrypt
K 8
password
...
Run Code Online (Sandbox Code Playgroud)

现在以下命令已成功:

svn update trunk
Run Code Online (Sandbox Code Playgroud)

现在我想使用 git-svn:

git svn clone svn://myserver/myrepository/myproject --username myuser
Run Code Online (Sandbox Code Playgroud)

但我得到的只是以下回复:

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**
Run Code Online (Sandbox Code Playgroud)

我发现的有关此错误的所有内容都表明这是一个身份验证问题。所以在我看来 git svn 不使用 svn 存储的凭据。

我究竟做错了什么?一些建议?

Chi*_*Van 5

git-svn 不使用 SVN 的原因是它使用存储在 C:\Users\XXXX.subversion 中的凭据,该凭据是由 git-svn 而不是 SVN 创建的。就我而言,也会发生SVN 错误,(220001):项目不可读:项目不可读

解决方案是将凭证从 SVN 移至 git-svn:

  1. 使用SVN从服务器签出。记得保存授权。这可以为 SVN 创建凭据。文件存储在 C:\Users\XXXXX\AppData\Roaming\Subversion。
  2. 删除用户目录 C:\Users\XXXXX 下的 .subversion 文件夹(如果存在)。然后将 C:\Users\XXXXX\AppData\Roaming\Subversion 文件夹复制到 C:\Users\XXXXX。
  3. 然后将其重命名为.subversion。由于名称以“.”开头,因此您可能需要在cmd控制台中使用“rename”命令对其进行重命名。
  4. 最后,您可以使用 git-svn 克隆。