From aeae707886292c6ed892c6c30a26bc32f984c28c Mon Sep 17 00:00:00 2001 From: ptrcnull Date: Sat, 30 Jul 2022 06:18:01 +0200 Subject: [PATCH] fix: work around trailing newlines in headers ugh --- apatch | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apatch b/apatch index c8ec0da..b72540c 100755 --- a/apatch +++ b/apatch @@ -67,7 +67,8 @@ if [ -f "$patchpath" ]; then msg "patch exists, trying to extract existing message" # try to extract the original header from the patch patch_start=$(grep -En '^(diff --git|--- )' "$patchpath" | cut -d: -f1 | head -n 1) - header="$(head -n $(( patch_start - 1 )) "$patchpath"; echo)" + header_file="$(mktemp -t apatch.XXXXXX)" + head -n $(( patch_start - 1 )) "$patchpath" > "$header_file" fi ( @@ -103,7 +104,10 @@ fi git add . msg "saving patch $1" - echo -n "$header" > "$patchpath" + echo -n > "$patchpath" # empty the file first + if [ -n "$header_file" ]; then + mv "$header_file" "$patchpath" + fi git diff --cached >> "$patchpath" if [ ! -s "$patchpath" ]; then