From: Pierre Habouzit <madcoder@debian.org>
To: Git ML <git@vger.kernel.org>, Junio C Hamano <gitster@pobox.com>
Subject: [PATCH] git-quiltimport: better parser to grok "enhanced" series files.
Date: Sat, 08 Mar 2008 19:27:09 +0100 [thread overview]
Message-ID: <20080308182709.GA3109@artemis.madism.org> (raw)
The previous parser wasn't able to grok:
* empty lines;
* annotated patch levels (trailing -pNNN annotations);
* trailing comments.
Now it even uses the patch level hints as a git apply argument.
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
---
I'd even argue that it's maint material btw :)
git-quiltimport.sh | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/git-quiltimport.sh b/git-quiltimport.sh
index 233e5ea..0d8a765 100755
--- a/git-quiltimport.sh
+++ b/git-quiltimport.sh
@@ -63,7 +63,22 @@ tmp_info="$tmp_dir/info"
commit=$(git rev-parse HEAD)
mkdir $tmp_dir || exit 2
-for patch_name in $(grep -v '^#' < "$QUILT_PATCHES/series" ); do
+cat "$QUILT_PATCHES/series" | while read patch_name level garbage; do
+ case "$patch_name" in ''|'#'*) continue;; esac
+ case "$level" in
+ -p*);;
+ ''|'#'*)
+ level=;;
+ *)
+ echo "unable to parse patch level, ignoring it."
+ level=;;
+ esac
+ case "$garbage" in
+ ''|'#'*);;
+ *)
+ echo "trailing garbage found: $garbage, please fix your series file"
+ exit 1;;
+ esac
if ! [ -f "$QUILT_PATCHES/$patch_name" ] ; then
echo "$patch_name doesn't exist. Skipping."
continue
@@ -113,7 +128,7 @@ for patch_name in $(grep -v '^#' < "$QUILT_PATCHES/series" ); do
fi
if [ -z "$dry_run" ] ; then
- git apply --index -C1 "$tmp_patch" &&
+ git apply --index -C1 $level "$tmp_patch" &&
tree=$(git write-tree) &&
commit=$( (echo "$SUBJECT"; echo; cat "$tmp_msg") | git commit-tree $tree -p $commit) &&
git update-ref -m "quiltimport: $patch_name" HEAD $commit || exit 4
--
1.5.4.3.593.g07854.dirty
next reply other threads:[~2008-03-08 18:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-08 18:27 Pierre Habouzit [this message]
2008-03-09 3:39 ` [PATCH] git-quiltimport: better parser to grok "enhanced" series files Junio C Hamano
2008-03-09 9:59 ` Pierre Habouzit
2008-03-09 10:17 ` Junio C Hamano
2008-03-09 11:27 ` Pierre Habouzit
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=20080308182709.GA3109@artemis.madism.org \
--to=madcoder@debian.org \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.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).