git-remote: exit with non-zero status after detecting error in "rm".
[gitweb.git] / git-quiltimport.sh
index 2124df9e4a86ec446f19745043051a1b989d66d9..880c81d121bfb9555c729bc299f8ae8baf1db32c 100755 (executable)
@@ -5,7 +5,7 @@ SUBDIRECTORY_ON=Yes
 
 dry_run=""
 quilt_author=""
-while case "$#" in 0) break;; esac
+while test $# != 0
 do
        case "$1" in
        --au=*|--aut=*|--auth=*|--autho=*|--author=*)
@@ -70,10 +70,15 @@ tmp_info="$tmp_dir/info"
 commit=$(git rev-parse HEAD)
 
 mkdir $tmp_dir || exit 2
-for patch_name in $(cat "$QUILT_PATCHES/series" | grep -v '^#'); do
+for patch_name in $(grep -v '^#' < "$QUILT_PATCHES/series" ); do
+       if ! [ -f "$QUILT_PATCHES/$patch_name" ] ; then
+               echo "$patch_name doesn't exist. Skipping."
+               continue
+       fi
        echo $patch_name
-       (cat $QUILT_PATCHES/$patch_name | git mailinfo "$tmp_msg" "$tmp_patch" > "$tmp_info") || exit 3
-       test -s .dotest/patch || {
+       git mailinfo "$tmp_msg" "$tmp_patch" \
+               <"$QUILT_PATCHES/$patch_name" >"$tmp_info" || exit 3
+       test -s "$tmp_patch" || {
                echo "Patch is empty.  Was it split wrong?"
                exit 1
        }