How to switch svn repositories using git-svn?

后端 未结 2 1834
醉话见心
醉话见心 2021-02-07 01:25

I have a number of git projects created as clones of SVN repositories using git-svn. We have migrated our SVN repositories to a new provider so the URL has now changed. How can

相关标签:
2条回答
  • 2021-02-07 01:53

    Following the same url [1], but with an updated solution, it becomes much easier.

    Inside .git/config, in the [svn-remote] section, set url to the new URL, and set rewriteRoot to the old URL:

    [svn-remote "svn"]
        url         = https://new.svn-server.net/svn/root
        rewriteRoot = https://old.svn-server.net/svn/root
    

    The same can be surely done via the git config ... commands from the guide:

    $ git config --local --replace-all svn-remote.<name>.rewriteRoot `git config --local --get svn-remote.<name>.url`
    $ git config --local --replace-all svn-remote.<name>.url <new_url>
    

    Then it just works, for me I don't have to make any dummy revision even though there's no new revisions on the new server. Interestingly, git svn info reports the same old URL, but with the new URL as Repository Root:

    $ git svn info
    Path: .
    URL: <old-url>
    Repository Root: <new-url>
    

    [1] https://git.wiki.kernel.org/index.php/GitSvnSwitch

    0 讨论(0)
  • 2021-02-07 02:07

    I found a page in the git wiki which answers exactly my question:

    https://git.wiki.kernel.org/index.php/GitSvnSwitch

    • Edit the svn-remote url URL in .git/config to point to the new domain name
    • Run git svn fetch - This needs to fetch at least one new revision from svn!
    • Change svn-remote url back to the original url
    • Run git svn rebase -l to do a local rebase (with the changes that came in with the last fetch operation)
    • Change svn-remote url back to the new url
    • Run git svn rebase should now work again!

    This will only work, if the git svn fetch step actually fetches anything! (Took me a while to discover that... I had to put in a dummy revision to our svn repository to make it happen!)

    0 讨论(0)
提交回复
热议问题