threads / discuss / 12329

git svn: Cannot rebuild rev_map with --rewrite-root

Subject: git svn: Cannot rebuild rev_map with --rewrite-root

## tl;dr

One message between Feb 26, 2008 and Feb 26, 2008.

replies: 0people: 1as markdown or json

Eric Kidd· Feb 26, 2008, 13:47 UTC · lore

Good morning! I'm trying to understand git svn's --rewrite-root argument, and I'm confused.

In the following example, I have a Subversion repo named 'foo-svn', containing a single (empty) project named 'foo'. This project has the usual trunk/branches/tags layout, but no content.

When I run the following script:
  GIT_SVN_ARGS="-s --rewrite-root svn://svn.foo.org/ file://`pwd`/foo-svn/foo"
  git svn clone $GIT_SVN_ARGS foo1
  git clone foo1 foo2
  cd foo2
  git config --add remote.origin.fetch '+refs/remotes/*:refs/remotes/*'
  git fetch
  git svn init $GIT_SVN_ARGS
  git svn fetch
...it gives me the following error:

Using higher level of URL: file:///Users/emk/src/git/git-svn-rewrite-root-test/foo-svn/foo => file:///Users/emk/src/git/git-svn-rewrite-root-test/foo-svn Rebuilding .git/svn/trunk/.rev_map.6d4f8df3-8fea-4595-8e57-7b909cefc69c ... Done rebuilding .git/svn/trunk/.rev_map.6d4f8df3-8fea-4595-8e57-7b909cefc69c Rebuilding .git/svn/trunk/.rev_map.6d4f8df3-8fea-4595-8e57-7b909cefc69c ... Done rebuilding .git/svn/trunk/.rev_map.6d4f8df3-8fea-4595-8e57-7b909cefc69c Rebuilding .git/svn/trunk/.rev_map.6d4f8df3-8fea-4595-8e57-7b909cefc69c ... Done rebuilding .git/svn/trunk/.rev_map.6d4f8df3-8fea-4595-8e57-7b909cefc69c Rebuilding .git/svn/trunk/.rev_map.6d4f8df3-8fea-4595-8e57-7b909cefc69c ... Done rebuilding .git/svn/trunk/.rev_map.6d4f8df3-8fea-4595-8e57-7b909cefc69c Last fetched revision of refs/remotes/trunk was r2, but we are about to fetch: r2!

You can find the Subversion repository and the script here:
  http://www.randomhacks.net/tmp/git-svn-rewrite-root-test.tar.gz
Other things I've tried:
 1) If I remove --rewrite-root from GIT_SVN_ARGS, it works fine.
 2) If I omit the 'git config --add remote.origin.fetch' step, it works fine.
 3) If I add more revisions to foo/trunk, I get an error of the form:

Last fetched revision of refs/remotes/trunk was $LAST_REV, but we are about to fetch: $FIRST_REV!

 4) The following versions of git-svn all behave the same way:
    git-svn HEAD on MacOS X 10.5
    git-svn 1.5.3.7 on MacOS X 10.5
    git-svn 1.5.4 on Cygwin
 5) If I access the Subversion repository using svn+ssh://..., I get
the same error.
If I run 'git svn --version', I get:
    git-svn version 1.5.4.3.220.g99d8e (svn 1.4.4)

Also, a possibly related error was mentioned here by a user upgrading from 1.5.3.4.452.g09149 to 1.5.4.1:

http://thread.gmane.org/gmane.comp.version-control.git/73661/focus=73664

So, am I abusing --rewrite-root, and suffering a well-deserved failure? Or is this unexpected behavior?

Thank you for any advice you can provide!

Cheers, Eric

← back to recent threads