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 3I 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