Why does "git svn fetch" command seem to be stuck and does nothing?

Samuel Rossille picture Samuel Rossille · Jun 4, 2012 · Viewed 10.4k times · Source

EDIT: Workaround. Now we understand the issue, here is the solution: do

git svn fetch -r REVISION:HEAD

where REVISION is the number of the svn commit of the branch creation.


I've been happy using git svn to work on the trunk of my project for a while, but now I need to track branches also.

I've tried to initialize a new repository to do that with

git init
git svn init https://svnserver/svn/repository

Then I edit the local configuration file to reflect the structure of my svn repository:

[svn-remote "svn"]
    url = https://svnserver/svn/repository
    fetch = path/to/trunk:refs/remotes/trunk
    branches = path/to/branches/*:refs/remotes/branches/*

Then I run

git svn fetch

And this command just does nothing:

  • It does not terminates
  • It does not write anything in the console output
  • It does not use any CPU, nor create files

I gave up after 10 minutes

I've checked that the svn repository is working, because git svn fetch works perfectly on my git repository where I track only the trunk.

Is this a bug or am I missing something here ?

Answer

Benjamin Toueg picture Benjamin Toueg · Jun 4, 2012

It becomes verbose after fetching the first relevant commit.

But until it fetches that commit, you can ensure the command is working properly by checking the .git\svn\.metadata file. The lines branches-maxRev = 123 and tags-maxRev = 123 will keep updating and increasing their numbers as it works.