git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Johannes Sixt <j.sixt@viscovery.net>
To: Eric Kidd <git@randomhacks.net>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] git-filter-branch: Add more error-handling
Date: Wed, 11 Feb 2009 15:58:37 +0100	[thread overview]
Message-ID: <4992E79D.10208@viscovery.net> (raw)
In-Reply-To: <1234361365-63711-1-git-send-email-git@randomhacks.net>

Eric Kidd schrieb:
> In particular, the following hunk may change the public UI to
> git-filter-branch, although I'm not sure whether the change is for
> better or for worse.  As I understand it, this hunk would allow
> $filter_commit to abort the rewriting process by returning a non-0 exit
> status:
> 
>  	@SHELL_PATH@ -c "$filter_commit" "git commit-tree" \
> -		$(git write-tree) $parentstr < ../message > ../map/$commit
> +		$(git write-tree) $parentstr < ../message > ../map/$commit ||
> +			die "could not write rewritten commit"
>  done <../revs
> 
> I'd be happy to add a test case for what happens when $filter_commit
> returns a non-0 exit status.  Is the old behavior preferable?

I think it's OK to die if the commit filter fails.

But generally, I think it is not necessary to use 'die with error
message', a plain '|| exit' should be enough because an error will have
been reported already by the tool that failed.

> @@ -483,7 +486,7 @@ test -z "$ORIG_GIT_INDEX_FILE" || {
>  }
>  
>  if [ "$(is_bare_repository)" = false ]; then
> -	git read-tree -u -m HEAD
> +	git read-tree -u -m HEAD || die "Unable to checkout rewritten tree"

Here you shouldn't die. But unlike elsewhere, this case warrants an
explanation for the user:

	git read-tree -u -m HEAD ||
		echo >&2 "WARNING: The working directory is not up-to-date!"

>  fi
>  
>  exit $ret

-- Hannes

  reply	other threads:[~2009-02-11 15:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-11 14:09 [PATCH] git-filter-branch: Add more error-handling Eric Kidd
2009-02-11 14:58 ` Johannes Sixt [this message]
2009-02-11 15:36   ` Johannes Sixt
2009-02-11 15:24 ` Johannes Schindelin
2009-02-11 17:15 ` [PATCH v2] filter-branch: " Eric Kidd
2009-02-11 19:03   ` Junio C Hamano
2009-02-11 19:34     ` Eric Kidd
2009-02-11 20:03     ` [PATCHv3] " Eric Kidd
2009-02-11 20:48       ` Johannes Schindelin
2009-02-11 21:00         ` Eric Kidd
2009-02-11 21:10         ` [PATCHv4] " Eric Kidd
2009-02-11 21:30     ` [PATCH v2] " Nanako Shiraishi
2009-02-11 22:28       ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4992E79D.10208@viscovery.net \
    --to=j.sixt@viscovery.net \
    --cc=git@randomhacks.net \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).