我正在尝试使用git克隆svn存储库,但是在获取步骤中我获得了授权失败。我目前只是试图获得项目的主干:
$ git svn clone svn://some/repo --trunk=svn://some/repo/trunk/project/ --username afoglia .
Initialized empty Git repository in /home/afoglia/projects/new_repo/trunk.git/project/.git/
Using higher level of URL: svn://some/repo/trunk/project => svn://some/repo
W: Ignoring error from SVN, path probably does not exist: (160013): Filesystem has no item: File not found: revision 100, path '/trunk/project'
W: Do not be alarmed at the above message git-svn is just searching aggressively for old history.
This may take a while on large repositories
Authorization failed: Authorization failed at /home/afoglia/.local/stow/git-1.7.7/libexec/git-core/git-svn line 3099
我尝试过只获取最新的修订版本,然后使用相同的消息失败。
git在第一步中成功访问了存储库;我可以看到修订的计数器在接近该目录的第一个修订版时递增。所以我不知道为什么会有失败。请注意,布局是单个trunk目录下的多个项目,我只有权读取该项目及以下内容。
我不熟悉Perl,但是3099行是一个除非有一个不同的die消息,并且字符串“Authorization failed”在脚本中没有。
另外,我必须在自己的帐户下安装git,并编译和安装svn,所以这可能是缺少perl库的结果。 (但我已成功克隆了一个不安全的svn存储库,因此它不是显而易见的事。)
答案 0 :(得分:0)
首先,--trunk
接受subdir,而不是绝对url。接下来,您应该提供--parent
以获得最多修订版。试试这种方式
git svn clone --username afoglia --parent svn://some/repo --trunk=trunk/project/ project-git
如果不起作用,请尝试这种方式
git svn clone --username afoglia --parent svn://some/repo/trunk/project/ project-git