git svn模糊论证'HEAD'

时间:2011-08-02 12:15:30

标签: git svn

   $ git svn clone -s http://a_repo local_dir ( by default this brings me r1 ) to hdd
    Initialized empty Git repository in d:/Temp/local_dir/.git/
    r1 = some_SHA (refs/remotes/trunk)

   $ cd local_dir
   $ git svn rebase
   fatal: ambiguous argument 'HEAD': unknown revision or path not in the working tree.
   Use '--' to separate paths from revisions
   log --no-color --no-decorate --first-parent --pretty=medium HEAD: command returned error: 128

我如何实际结帐回购?

我也试过没有变基,使用fetch,但它一次只带一个修订版。我们有几千次提交,按照这个速度,复制存储库需要几天时间。

3 个答案:

答案 0 :(得分:9)

如果你只从SVN仓库获得一次提交,我认为SVN仓库不是标准布局,而是你告诉git svn它是。

git svn clone http://a_repo local_dir

(即没有-s标志)应该能够克隆SVN仓库。如果这样做,请重试克隆并指定您的主干,标签和分支目录,如docs of git-svn中所述。

答案 1 :(得分:2)

git svn clone [your-repo-url] -s
# OR 
git svn clone [your-repo-url] -T [your-trunk-dir] -t [your-tags-dir] -b [your-branches-dir]

如果你没有指定-r标志(如上所述),那么你需要

git svn fetch  

答案 2 :(得分:2)

克隆分支而不是整个SVN存储库时会发生此错误。

如果您的repo网址类似于https://svnserver/project/repo/trunkhttps://svnserver/project/branches/pre-something,请将克隆命令更改为:

git svn clone https://svnserver/project/repo --stdlayout