Subject: Re: git-svn failure when symlink added in svn

From: Seth Falcon <[email-masked]>
Date: Mon, 30 Apr 2007 07:43:46 -0700

Eric Wong <[email-masked]> writes:

> Seth Falcon <[email-masked]> wrote:
>> Eric: is there any way to undo some of the svn revs that have been
>> retrieved using git-svn fetch and then refetch them? 

> Assuming you're not using something crazy like noMetadata, you can just
> use update-ref on the remote heads to the last known good revisions and
> remove the associated .rev_db files.
>
> Otherwise you'll have to delete entries from the .rev_db files, the
> format is one line per-revision, the revision is the line number of the
> file.

Hmm, not sure I understood.  Here's what I tried:

I'm tracking two branches via git-svn.  For each, I used git log
remotes/<branch> to find a revision that I expect to be ok and noted
the sha1.  Then I did: 

    git-update-ref remotes/git-svn a27b11c1

and similar, but with different sha1 for the other branch.  Next I
removed the .rev_db* files (there was one for each svn branch) and
tried doing git-svn fetch.  This seemed to rebuild the .rev_db, but
eventually I ended up with:

Done rebuilding .git/svn/git-svn/.rev_db.00db46b3-68df-0310-9c12-caf00c1e9a41
        M       src/<somepath>
        M       src/<another>
Incomplete data: Delta source ended unexpectedly at /Users/seth/scm/bin/git-svn line 2982

And if I rerun git svn fetch, I get:

Index mismatch: 9c07a6009029e4a1d834ff126f705c4db3c4bce7 != 67dc53678f759c52a93a281f13fadb08799f86b2
rereading 0f12c8c092600c8a3337ec35d153d3a76ce2329d
        M       src/<somepath>
        M       src/<another>
Incomplete data: Delta source ended unexpectedly at /Users/seth/scm/bin/git-svn line 2982

[where <somepath> and <another> are the same in both cases]

Did I miss a step or misunderstand how to undo?  What's strange is
that if I do git show 0f12c8c, I see a patch that is looks like it came
from a fetch using the my broken version of git-svn -- do I need to
clear out objects before refetching?

Thanks,

+ seth