Seth Falcon <sethfalcon@xxxxxxxxx> wrote: > Eric Wong <normalperson@xxxxxxxx> writes: > > > Seth Falcon <sethfalcon@xxxxxxxxx> 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 You may need to specify "refs/": "refs/remotes/git-svn". Is there a .git/remotes/git-svn ref file now? > 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? I might have left some steps (I've been all over the place lately :/). You probably need to do all that and also need to edit .git/svn/.metadata and set the {branches,tags}-maxRev fields to the last known good revisions if you use globs. Also you can try removing the index files inside .git/svn (but they *should* be auto-checked and rebuilt (as they were in the second "git-svn fetch" run you did... -- Eric Wong - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html