12

这个问题与thisthis不一样。

git svn clone -s --bare https://ctags.svn.sourceforge.net/svnroot/ctags
Unknown option: bare

怎么了?

我可以使用 git svn 克隆一个裸仓库吗?

我已阅读 man git-svn,但找不到克隆裸仓库的方法。

编辑 1

我在 git svn repo 上的标签:

git branch -r
  origin/master
  tags/Ctags-5_1
  tags/Ctags-5_1_1
  tags/Ctags-5_2
  tags/Ctags-5_2_1
  tags/Ctags-5_2_2
  tags/Ctags-5_2_3
  tags/Ctags-5_3
  tags/Ctags-5_3_1
  tags/Ctags-5_4
  tags/Ctags-5_5
  tags/Ctags-5_5_1
  tags/Ctags-5_5_2
  tags/Ctags-5_5_3
  tags/Ctags-5_5_4
  tags/Ctags-5_6
  tags/ctags-5.7
  tags/ctags-5.8
  tags/test
  trunk

为什么我不能将这些标签推送到 git 存储库中?

4

2 回答 2

15

找到了更好的解决方案

$ git svn init https://ctags.svn.sourceforge.net/svnroot/ctags repo-git --stdlayout 
$ #edit  repo-git/.git/config to contain:
[svn-remote "svn"]
        url = https://ctags.svn.sourceforge.net/svnroot/ctags
        fetch = trunk:refs/heads/master
        branches = branches/*:refs/heads/*
        tags = tags/*:refs/tags/*
$ cd repo-git
$ git svn fetch

毕竟你可以设置 core.bare=true。生成的裸存储库将位于 repo/.git

于 2012-09-23T13:08:27.720 回答
13

git-svn 是一个 Perl 脚本,如果你打开它,你会发现它根本不包含“bare”这个词。不支持选项“--bare”。

作为一种解决方法,您可以使用简单的“git svn clone”,然后将生成的存储库转换为裸存储库。

于 2012-09-22T14:16:40.523 回答