Thread (1 message) 1 message, 1 author, 2016-06-15

Re: git-svn failure when symlink added in svn

From: Eric Wong <hidden>
Date: 2016-06-15 22:43:07

Seth Falcon [off-list ref] wrote:
Junio C Hamano [off-list ref] writes:
quoted
Seth Falcon [off-list ref] writes:
quoted
Junio C Hamano [off-list ref] writes:
...
quoted
Then I suspect the following could be less invasive and more
efficient fix for the problem.  I do not have an access to MacOS
box, and I do not have a working sync with any SVN repository,
so I cannot test it myself, though...
This also works as a fix for me on OS X and obviously is nicer than
resorting to temp files.  Again, with this patch against git master
the test case that Eric posted passes as does one of my own examples.
Well, I think the sysseek should be done only when we did read
'link ' from the beginning and not in other cases, so in that
sense my patch is very broken.  Probably the sysseek() needs to
be done inside the "if ($fb->mode_b} == 120000)" part, after it
checks for 'link '.
So I can confirm, unfortunately, that the suggested patch is indeed
very broken and have a couple of corrupt git-svn based repositories to
show for it -- in other words, I had the opportunity to learn a lesson
the hard way :-\

Eric: is there any way to undo some of the svn revs that have been
retrieved using git-svn fetch and then refetch them?  I naively tried
out Junio's fix and ran fetch on a few repositories.  The data
retrieved is bogus in a fun way that things work, but patches have
been repatched to remove 5 chars, e.g.:

    -factor <- function (x = character(), levels = sort(unique.default(x),
    +r <- function (x = character(), levels = sort(unique.default(x),
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.

-- 
Eric Wong
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help