Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn
From: Michael Olson <hidden>
Date: 2016-06-15 22:48:41
On Wed, Apr 21, 2010 at 1:07 PM, Sam Vilain [off-list ref] wrote:
On Tue, 2010-04-20 at 14:30 -0700, Michael Olson wrote:quoted
Instead, fall back to assuming that the incoming merge is a bunch of cherry-picks and ignore it. Signed-off-by: Michael W. Olson <redacted> --- git-svn.perl | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)diff --git a/git-svn.perl b/git-svn.perl index 0e1feb3..1a53709 100755 --- a/git-svn.perl +++ b/git-svn.perl@@ -3110,7 +3110,7 @@ sub check_cherry_pick {my %commits = map { $_ => 1 } _rev_list("--no-merges", $tip, "--not", $base); for my $range ( @ranges ) { - delete @commits{_rev_list($range)}; + eval { delete @commits{_rev_list($range)} }; } for my $commit (keys %commits) { if (has_no_changes($commit)) {If the _rev_list here fails, it means it was passed in a bad range. This means that the calling code somehow ends up with a commit ID which doesn't exist. It's normally better to detect errors when they happen, not deeper into other functions when they break things...
Interestingly, I see people reporting the same problem in the thread "git svn clone of subversion's own code failing". So it's not just related to patch 1/2 of this series. At least that thread has a public-facing repo so the problem should be easier to reproduce for a real fix. -- Michael Olson | http://mwolson.org/