Skip to contentSkip to conversation

Handle empty patches and patches with only a header.

PATCH In review Per Cederqvist 2 participants 3 messages Jun 15, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Handle empty patches and patches with only a header.

"git apply --numstat" in Git 1.7.10 gives an error message unless the patch contains a diff, so don't attempt to apply it unless we find a

---
 guilt |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
guilt +1 -1
index 5d619c5..66a671a 100755
@@ -622,7 +622,7 @@ push_patch()
 		cd_to_toplevel
 
 		# apply the patch if and only if there is something to apply
-		if [ `git apply --numstat "$p" | wc -l` -gt 0 ]; then
+		if grep -q '^diff ' "$p" && [ `git apply --numstat "$p" | wc -l` -gt 0 ]; then
 			if [ "$bail_action" = abort ]; then
 				reject=""
 			fi
Signature · 1 line
1.7.10
#1 lore raw
Quoted 2 lines · Per Cederqvist

"git apply --numstat" in Git 1.7.10 gives an error message unless the patch contains a diff, so don't attempt to apply it unless we find a

Find a what? Such a cliff-hanger! :)

I assume you mean find a '^diff'.

I'll fix up the commit message before applying.

Thanks,

Jeff.

Quoted 21 lines
---
 guilt |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
guilt +1 -1
index 5d619c5..66a671a 100755
@@ -622,7 +622,7 @@ push_patch()
 		cd_to_toplevel
 
 		# apply the patch if and only if there is something to apply
-		if [ `git apply --numstat "$p" | wc -l` -gt 0 ]; then
+		if grep -q '^diff ' "$p" && [ `git apply --numstat "$p" | wc -l` -gt 0 ]; then
 			if [ "$bail_action" = abort ]; then
 				reject=""
 			fi
Signature · 1 line
1.7.10
Signature · 2 lines
Keyboard not found!
Press F1 to enter Setup
#2 lore raw
Quoted 7 lines · Jeff Sipek
Quoted 2 lines · Per Cederqvist

"git apply --numstat" in Git 1.7.10 gives an error message unless the patch contains a diff, so don't attempt to apply it unless we find a

Find a what? Such a cliff-hanger! :)

I assume you mean find a '^diff'.

Yes. Initially, I searched for "@@" and the commit message said "diff hunk", but that heuristic failed if you had a patch that just changed the mode of a single file. So I changed the patch to search for "^diff" instead, and apparently got distracted while editing the commit message.

/cederp

Quoted 28 lines

I'll fix up the commit message before applying.

Thanks,

Jeff.

Quoted 21 lines
---
  guilt |    2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
guilt +1 -2
index 5d619c5..66a671a 100755
@@ -622,7 +622,7 @@ push_patch()
  		cd_to_toplevel
 
  		# apply the patch if and only if there is something to apply
-		if [ `git apply --numstat "$p" | wc -l` -gt 0 ]; then
+		if grep -q '^diff ' "$p"&&  [ `git apply --numstat "$p" | wc -l` -gt 0 ]; then
  			if [ "$bail_action" = abort ]; then
  				reject=""
  			fi
--

1.7.10