更新git-svn git镜像而不重新下载所有内容

jhi*_*iar 15 svn git version-control github git-svn

我使用了一个svn存储库的git镜像

    git svn clone svn://svn.svnrepo.com
Run Code Online (Sandbox Code Playgroud)

我将它上传到github,并能够使用更新本地仓库

    git svn rebase svn://svn.svnrepo.com
Run Code Online (Sandbox Code Playgroud)

并将更新推送到github

我删除本地副本后,我想再次更新遥控器

所以我克隆了git repo

    git clone git://git.gitrepo.com
Run Code Online (Sandbox Code Playgroud)

但是当我试图改变时,我得到了一个错误

    git svn rebase svn://svn.svnrepo.com

    Data from a previous version of git-svn exists, but

    (required for this version (1.8.3.2) of git-svn) does not exist.

    Done migrating from a git-svn v1 layout
Run Code Online (Sandbox Code Playgroud)

然后它给出一个Unable来确定HEAD历史错误的上游SVN信息

我试过了:

    git svn init svn://svn.svnrepo.com
Run Code Online (Sandbox Code Playgroud)

有:

    git svn fetch
Run Code Online (Sandbox Code Playgroud)

但是开始重新下载整个svn repo,这需要24小时以上当前的svn修订版在提交日志中用git-svn-id标记,看起来很好,如何从重新获取文件中停止git svn fetch已经存在或重新安装它没有完整的重新下载?这个镜像从来没有提交过使它与svn上游不同的提交.

arh*_*hak 2

只需运行以下命令

git config svn-remote.svn.url $SVN_URL
git config svn-remote.svn.fetch :refs/remotes/git-svn
svn2git --rebase
Run Code Online (Sandbox Code Playgroud)

或者您也可以手动编辑.git/config以添加该svn-remote部分:

[svn-remote "svn"]
    url = SVN_URL
    fetch = :refs/remotes/git-svn
Run Code Online (Sandbox Code Playgroud)

从现在开始svn2git --rebase

--

PS:归功于我的消息来源: