git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[GUILT] [PATCH 1/7] get rid of "cat: write error: Broken pipe" error message

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Jan 16, 2013, 02:27 UTC
Message-ID
<20130116022701.GJ12524@google.com>
In-Reply-To
<20130116022606.GI12524@google.com>
From: Per Cederqvist <cederp@opera.com>
Date: Tue, 13 Mar 2012 14:39:44 +0100

In some circumstances (like running guilt in a M-x shell buffer in Emacs) cat may give the above error message when the reader of the output from cat exits without reading all input from cat. (In other circumstances cat is just silently terminated with SIGPIPE.)

Get rid of the error by removing the useless use of cat in do_get_header and do_get_full_header.

Signed-off-by: Per Cederqvist <cederp@opera.com>
Acked-by: Jeff Sipek <jeffpc@josefsipek.net>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
 guilt | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/guilt b/guilt
index d1e17d4..7f6806e 100755
--- a/guilt
+++ b/guilt
@@ -359,7 +359,7 @@ do_get_header()
 	# 4th line skips any empty lines thereafter.
 	# 5th line turns off empty line skip upon seeing a non-empty line.
 	# 6th line terminates execution when we encounter the diff
-	cat "$1" | awk '
+	awk '
 BEGIN{body=0; subj=0}
 /^Subject:/ && (body == 0 && subj == 0){subj=1; print substr($0, 10) "\n"; next}
 /^(Subject:|From:|Author:|Date:|commit)/ && (body == 0){next}
@@ -369,7 +369,7 @@ BEGIN{body=0; subj=0}
 /^(diff |---$|--- )/{exit}
 {print $0}
 END{}
-'
+' < "$1"
 }
 
 # usage: do_get_full_header patchfile
@@ -377,12 +377,12 @@ do_get_full_header()
 {
 	# 2nd line checks for the begining of a patch
 	# 3rd line outputs the line if it didn't get pruned by the above rules
-	cat "$1" | awk '
+	awk '
 BEGIN{}
 /^(diff |---$|--- )/{exit}
 {print $0}
 END{}
-'
+' < "$1"
 }
 
 # usage: assert_head_check
-- 
1.8.1
Previous: Jonathan NiederNext: Jonathan Nieder
Message 2 of 13 in “guilt patches, including git 1.8 support”
  1. 0/7 guilt patches, including git 1.8 supportJonathan Nieder, Jan 16, 2013
  2. [GUILT] [PATCH 1/7] get rid of "cat: write error: Broken pipe" error messageJonathan Nieder, Jan 16, 2013
  3. [GUILT] [PATCH 2/7] The tests should not fail if log.date or log.decorate are set.Jonathan Nieder, Jan 16, 2013
  4. [GUILT] [PATCH 3/7] Testsuite: get rid of "Broken pipe" errors from yes.Jonathan Nieder, Jan 16, 2013
  5. [GUILT] [PATCH 4/7] Handle empty patches and patches with only a header.Jonathan Nieder, Jan 16, 2013
  6. [GUILT] [PATCH 5/7] Fix fatal "guilt graph" error in sha1sum invocation.Jonathan Nieder, Jan 16, 2013
  7. [GUILT] [PATCH 6/7] Change git branch when patches are applied.Jonathan Nieder, Jan 16, 2013
  8. [GUILT] [PATCH 7/7] Drop unneeded git version check.Jonathan Nieder, Jan 16, 2013
  9. Theodore Ts'oJan 16, 2013
  10. Josef 'Jeff' SipekJan 16, 2013
  11. Per CederqvistJan 20, 2013
  12. Josef 'Jeff' SipekJan 20, 2013
  13. Josef 'Jeff' SipekJan 27, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.