我们正在使用git作为存储库系统进行测试,而不是使用正常的svn。有一个我们一直需要的svn仓库。在svn中,我们用svn propset作为svn:externals链接这个存储库。这确保实际上只有该特定的大量使用的存储库的全局副本。试图在Git中设置SVN回购
现在我们有了git仓库,我想以与svn:externals相同的方式将SVN仓库链接到它。我在这方面取得了一些成功。我是新来的混帐,请原谅任何无知。
在纯混帐回购协议(这是我通过git clone [email protected]:mygitrepo
克隆)我用:
git svn clone svn+ssh://[email protected]/path/to/mysvnrepo mysvnrepo
得到其他svn库的副本。这很好,我可以在mysvnrepo目录中通过git svn rebase
获得对SVN回购的新修订,并通过git svn dcommit
提交更改。
要结合这主要git仓库我用:
git add mysvnrepo
git commit mysvnrepo
git push
我遇到的问题是,如果我现在克隆git仓库其他地方(再次git clone [email protected]:mygitrepo
),而我得到的mysvnrepo目录所有的文件,我无法与SVN回购互动。在git svn rebase之后出现错误:“无法确定工作树历史记录中的上游SVN信息”。可能相关的是,当我将它克隆到别处时,mysvnrepo目录中没有.git文件夹(这是svn info存储在原始repo中的位置)。
我已搜查这个问题了一点,但它的所有引用似乎变得越来越将svn的问题摆在首位的工作,而我的问题得到它的其他用户的工作。
也许我的问题是如何成功地添加/提交/推svn回购git回购?即:git add mysvnrepo; git commit mysvnrepot; git push
;正确的方法来做到这一点?
编辑:改进,可以提供更多的上下文
如何克隆存储库?通过使用'git clone'或从SVN中检出它或...? – siegi
你的意思是我工作的git仓库?原始的Git仓库和一个为我用'混帐克隆[email protected]其他用户都:mygitrepo' –