git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH/RFC 2/2] git-svn: Don't allow missing commit parent to stop git-svn

From
Sam Vilain <sam@vilain.net>
Date
Apr 21, 2010, 20:07 UTC
Message-ID
<1271880470.20208.47.camel@denix>
In-Reply-To
<j2wc8b3bef91004201430ie371be83kee0e3e4c35ab9c9e@mail.gmail.com>
On Tue, 2010-04-20 at 14:30 -0700, Michael Olson wrote:
Show 21 quoted lines
> Instead, fall back to assuming that the incoming merge is a bunch of
> cherry-picks and ignore it.
> 
> Signed-off-by: Michael W. Olson <mwolson@gnu.org>
> ---
>  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...

Sam
Previous: Michael OlsonNext: Michael Olson
Message 2 of 12 in “git-svn: Don't allow missing commit parent to stop git-svn”
  1. 2/2 git-svn: Don't allow missing commit parent to stop git-svnMichael Olson, Apr 20, 2010
  2. Sam VilainApr 21, 2010
  3. Michael OlsonApr 21, 2010
  4. Sam VilainApr 21, 2010
  5. Michael OlsonApr 28, 2010
  6. Eric WongMay 3, 2010
  7. Michael J GruberMay 4, 2010
  8. Eric WongMay 4, 2010
  9. Sam VilainMay 4, 2010
  10. Eric WongMay 4, 2010
  11. Michael OlsonMay 19, 2010
  12. Michael OlsonMay 19, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.