2009-11-24 60 views
0

我想将git整合到我的工作流程中。我通过使用它来管理从Subversion存储库克隆的代码的工作副本来启动它。git-svn clone使用git 1.5.1和1.6.5和Subversion 1.4.2的错误

我试过使用git 1.5.1和1.6.5。这两个都是从源头上构建的。我正在使用Subversion的官方Debian软件包。使用两个版本的git都会产生相同的错误,如下所示。

$ svn --version 
svn, version 1.4.2 (r22196) 
    compiled Aug 6 2009, 16:45:47 

Copyright (C) 2000-2006 CollabNet. 
Subversion is open source software, see http://subversion.tigris.org/ 
This product includes software developed by CollabNet (http://www.Collab.Net/). 

The following repository access (RA) modules are available: 

* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol. 
    - handles 'http' scheme 
    - handles 'https' scheme 
* ra_svn : Module for accessing a repository using the svn network protocol. 
    - handles 'svn' scheme 
* ra_local : Module for accessing a repository on local disk. 
    - handles 'file' scheme 

$ git --version 
git version 1.6.5 

$ git-svn clone -s file://localhost/home/foo/bar/ . 
perl: /tmp/buildd/subversion-1.4.2dfsg1/subversion/libsvn_subr/path.c:114: svn_path_join: Assertion `is_canonical(base, blen)' failed. 
Aborted 

这里有没有人遇到过这样或那样的问题?我以前使用过这个断言错误,我确实想出了结果,但它们似乎并没有特别与git-svn相关。这个错误可能是试图在file://...而不是http://...的路径上使用git-svn clone的结果?

+0

试试'git-svn clone -s file:/// home/foo/bar' – orip 2009-11-25 07:40:58

回答

2

是的,我不认为你在一个SVN file:// URL中使用localhost。我的git-svn克隆使用file:///作为URL(因此file:///var/lib/svn/blah在本地计算机上获得/var/lib/svn/blah)。

+0

当使用普通的svn命令时'localhost'对我来说工作得很好。你的关于git的提示证明是有效的。所有必要的工作是将我的URL文件:// localhost/home/svn/repository-name/project-name /转换为file:/// home/svn/repository-name/project-name / – jkndrkn 2009-11-25 15:59:11