Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: [PATCH] quiltimport: Skip non-existent patches

From: Dan Nicholson <hidden>
Date: 2016-06-15 22:43:37

On 9/27/07, Junio C Hamano [off-list ref] wrote:
Dan Nicholson [off-list ref] writes:
quoted
Dan Nicholson <dbn.lists <at> gmail.com> writes:
quoted
When quiltimport encounters a non-existent patch in the series file,
just skip to the next patch. This matches the behavior of quilt.

Signed-off-by: Dan Nicholson <dbn.lists <at> gmail.com>
---
 git-quiltimport.sh |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/git-quiltimport.sh b/git-quiltimport.sh
index 74a54d5..880c81d 100755
--- a/git-quiltimport.sh
+++ b/git-quiltimport.sh
@@ -71,6 +71,10 @@ commit=$(git rev-parse HEAD)

 mkdir $tmp_dir || exit 2
 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
     git mailinfo "$tmp_msg" "$tmp_patch" \
             <"$QUILT_PATCHES/$patch_name" >"$tmp_info" || exit 3

I forgot to mention the rationale for this patch vs. what Junio sent. The issue
with Junio's patch is that the failure will occur before $tmp_patch is created
because the script tries to feed git-mailinfo a non-existent patch
($patch_name). You'll only get past the mailinfo if $patch_name exists.

The marker setting may still be useful in this context, though, to suppress the
"doesn't exist" message.
Thanks.  I did not know what "marker" meant by the original
context and assumed there is a file referred to by the series
file but there is no patch in that file.  Instead it seems that
a series file can contain something that is _not_ a file and
that is called the marker, right?
I'm actually not a quilt user, but I tested out that patch on a repo
with a series containing a non-existent patch. I'm not sure what's
actually in Geerd's "marker", but I believe it's just random text.

When you run the command `quilt series', it just lists what's in the
series file (minus any comments). And when you run `quilt push' with a
non-existent patch, it says "Patch foo.patch does not exist; applied
empty patch"

So, I think the consistent thing to do is what's in my patch: just
skip the patch with a message to the user. Maybe the message can be
tailored to match quilt's output. Actually, it would be best to also
skip on empty files since quiltimport will bomb in that case as well.

--
Dan
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help