X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=git-quiltimport.sh;h=7cd8f7134e696312d243d73acebb6ecfe07d1e13;hb=02604e293a3b7d48b0ce4e34149de8dc89c674e5;hp=233e5eae1d337bff40d0adba4bbb117bbd4b5dee;hpb=bd8ff616c998da8b08bd59b47644408048b3016d;p=git.git diff --git a/git-quiltimport.sh b/git-quiltimport.sh index 233e5eae1..7cd8f7134 100755 --- a/git-quiltimport.sh +++ b/git-quiltimport.sh @@ -63,7 +63,23 @@ 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 +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 in series file: $garbage" + exit 1;; + esac if ! [ -f "$QUILT_PATCHES/$patch_name" ] ; then echo "$patch_name doesn't exist. Skipping." continue @@ -113,10 +129,10 @@ 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:+"$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 fi -done +done <"$QUILT_PATCHES/series" rm -rf $tmp_dir || exit 5