麻烦使用git-svn从git推送到subversion

时间:2011-08-11 09:18:45

标签: git svn git-svn

我正在尝试将现有的git repo推送到svn。

有解决方案herehere。 这就是我正在做的事情:

1.创建git repo:

$ mkdir /blabla/git_repo
$ cd /blabla/git_repo
$ git_init
$ touch hello.c
$ git add hello.c
$ git commit -m "init"

2.创建svn repo:

$ svnadmin create /blabla/svn_repo
$ cd /blabla/svn_repo
$ vim conf/*
... making initial configuring ...
$ svnserve --daemon --root /blabla/svn_repo/

所以,现在我有了纯svn存储库和现有的git存储库。

3.将git推入svn

$ cd /blabla/git_repo
$ svn mkdir --parents svn://localhost/GIT/trunk -m "git import"
$ git svn init svn://localhost -T GIT/trunk
$ git svn fetch
Error from SVN, (220001): Item is not readable: Item is not readable
$ git branch -av
* master 54ab8bf init

所以,SVN分支并没有引人注目!

如果在第3步,我尝试这样做:

$ cd /blabla/git_repo
$ svn mkdir --parents svn://localhost/GIT/trunk -m "git import"
$ git svn init svn://localhost          <--  **no "-T" flag here**
$ git svn fetch
Authentication realm: <svn://localhost:3690> 1d926320-a80a-43d5-9e77-9dc2a43fc4f0
Password for 'arsen': 
W: +empty_dir: GIT/trunk
r1 = 8d3e31cf67f29846660ef20faf3454005101e012 (refs/remotes/git-svn)
$ git branch -av
* master          18cbfbd init
  remotes/git-svn 8d3e31c git-svn-id: svn://localhost@1 1d926320-a80a-43d5-9e77-9dc2a43fc4f0

然后一切顺利,除了我不能将git存储库推入GIT svn项目,我只能将其推送到svn root。

那么,我做错了什么?

2 个答案:

答案 0 :(得分:2)

我找到了麻烦。

虽然svnserve.conf中有“anon-access = read”字符串,但我必须手动将“* = r”添加到svn authz文件中。现在它有效,但对我来说没有意义。

答案 1 :(得分:0)

将某些内容放入SVN树中,然后重试。 (您可以稍后在svn中通过dump / load删除它)