我正在尝试将现有的git repo推送到svn。
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。
那么,我做错了什么?
答案 0 :(得分:2)
我找到了麻烦。
虽然svnserve.conf中有“anon-access = read”字符串,但我必须手动将“* = r”添加到svn authz文件中。现在它有效,但对我来说没有意义。
答案 1 :(得分:0)
将某些内容放入SVN树中,然后重试。 (您可以稍后在svn中通过dump / load删除它)