From: Junio C Hamano <gitster@pobox.com>
To: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>
Subject: Re: [PATCHv2 4/4] git-am: refactor 'cleaning up and aborting'
Date: Wed, 27 May 2009 00:19:41 -0700 [thread overview]
Message-ID: <7v1vqbj9ma.fsf@alter.siamese.dyndns.org> (raw)
In-Reply-To: 1243298290-5909-5-git-send-email-giuseppe.bilotta@gmail.com
Giuseppe Bilotta <giuseppe.bilotta@gmail.com> writes:
> Introduce a clean_abort function that echoes an optional error message
> to standard error, removes the dotest directory and exits with status 1.
>
> Use it when patch format detection or patch splitting fails early.
> ---
S-o-b;
> git-am.sh | 29 +++++++++++++++--------------
> 1 files changed, 15 insertions(+), 14 deletions(-)
>
> diff --git a/git-am.sh b/git-am.sh
> index 1a00830..057acfe 100755
> --- a/git-am.sh
> +++ b/git-am.sh
> @@ -134,6 +134,15 @@ It does not apply to blobs recorded in its index."
> unset GITHEAD_$his_tree
> }
>
> +clean_abort () {
> + if test $# -gt 0
> + then
> + echo "$@" > /dev/stderr
echo >&2 "$@"
> + fi
> + rm -fr "$dotest"
> + exit 1
> +}
> +
> patch_format=
>
> check_patch_format () {
> @@ -192,22 +201,18 @@ check_patch_format () {
> fi
> ;;
> esac
> - } < "$1"
> + } < "$1" || clean_abort
> }
>
> split_patches () {
> case "$patch_format" in
> mbox)
> - git mailsplit -d"$prec" -o"$dotest" -b -- "$@" > "$dotest/last" || {
> - rm -fr "$dotest"
> - exit 1
> - }
> + git mailsplit -d"$prec" -o"$dotest" -b -- "$@" > "$dotest/last" || clean_abort
> ;;
> stgit-series)
> if test $# -ne 1
> then
> - echo "Only one StGIT patch series can be applied at once"
> - exit 1
> + clean_abort "Only one StGIT patch series can be applied at once"
> fi
> series_dir=`dirname "$1"`
> series_file="$1"
> @@ -222,7 +227,7 @@ split_patches () {
> shift
> # remove the arg coming from the first-line comment
> shift
> - } < "$series_file"
> + } < "$series_file" || clean_abort
> # set the patch format appropriately
> patch_format=stgit
> # now handle the actual StGIT patches
> @@ -254,18 +259,14 @@ split_patches () {
> print "Subject:", $0 ;
> subject = 1;
> }
> - }' "$stgit" > "$dotest/$msgnum" || {
> - echo "Failed to import $patch_format patch $stgit"
> - exit 1
> - }
> + }' "$stgit" > "$dotest/$msgnum" || clean_abort
> done
> echo "$this" > "$dotest/last"
> this=
> msgnum=
> ;;
> *)
> - echo "Patch format $patch_format is not supported."
> - exit 1
> + clean_abort "Patch format $patch_format is not supported."
> ;;
> esac
> }
> --
> 1.6.3.1.248.gb44be
next prev parent reply other threads:[~2009-05-27 7:20 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-26 0:38 [PATCHv2 0/4] git-am support for foreign patches Giuseppe Bilotta
2009-05-26 0:38 ` [PATCHv2 1/4] git-am foreign patch support: introduce patch_format Giuseppe Bilotta
2009-05-26 0:38 ` [PATCHv2 2/4] git-am foreign patch support: autodetect some patch formats Giuseppe Bilotta
2009-05-26 0:38 ` [PATCHv2 3/4] git-am foreign patch support: StGIT support Giuseppe Bilotta
2009-05-26 0:38 ` [PATCHv2 4/4] git-am: refactor 'cleaning up and aborting' Giuseppe Bilotta
2009-05-27 7:19 ` Junio C Hamano [this message]
2009-05-27 7:19 ` [PATCHv2 3/4] git-am foreign patch support: StGIT support Junio C Hamano
2009-05-27 8:29 ` Giuseppe Bilotta
2009-05-27 20:50 ` Junio C Hamano
2009-05-27 7:19 ` [PATCHv2 2/4] git-am foreign patch support: autodetect some patch formats Junio C Hamano
2009-05-27 8:19 ` Giuseppe Bilotta
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=7v1vqbj9ma.fsf@alter.siamese.dyndns.org \
--to=gitster@pobox.com \
--cc=git@vger.kernel.org \
--cc=giuseppe.bilotta@gmail.com \
/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).