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

[GUILT] [PATCH 5/7] Fix fatal "guilt graph" error in sha1sum invocation.

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Jan 16, 2013, 02:29 UTC
Message-ID
<20130116022913.GN12524@google.com>
In-Reply-To
<20130116022606.GI12524@google.com>
From: Per Cederqvist <cederp@opera.com>
Date: Wed, 14 Mar 2012 14:34:38 +0100

Fix the compatibility function sha1 so that it reads from stdin (and not a file with a zero-length file name) when no argument is supplied.

[jn: adapted to also handle newer versions of OpenSSL,
 based on reports from Andreas Schwab and John Szakmeister.
 $ openssl dgst -sha1</dev/null
 da39a3ee5e6b4b0d3255bfef95601890afd80709
 $ openssl version
 OpenSSL 0.9.8o 01 Jun 2010
 $ openssl dgst -sha1 </dev/null
 (stdin)= da39a3ee5e6b4b0d3255bfef95601890afd80709
 $ openssl version
 OpenSSL 1.0.0d 8 Feb 2011
]
Signed-off-by: Per Cederqvist <cederp@opera.com>
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
 os.Darwin | 7 ++++++-
 os.Linux  | 7 ++++++-
 os.SunOS  | 7 ++++++-
 3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/os.Darwin b/os.Darwin
index 470f5fb..3f23121 100644
--- a/os.Darwin
+++ b/os.Darwin
@@ -27,7 +27,12 @@ head_n()
 # usage: sha1 [file]
 sha1()
 {
-	openssl dgst -sha1 "$1" | sed "s,SHA1.\(.*\).= \(.*\),\2  \1,"
+	if [ $# = 1 ]
+	then
+		openssl dgst -sha1 "$1" | sed "s,SHA1.\(.*\).= \(.*\),\2  \1,"
+	else
+		openssl dgst -sha1 | sed 's,\(.*= \)*\(.*\),\2  -,'
+	fi
 }
 
 # usage: cp_a <src> <dst>
diff --git a/os.Linux b/os.Linux
index 30b9cb0..aaebf88 100644
--- a/os.Linux
+++ b/os.Linux
@@ -30,7 +30,12 @@ head_n()
 # usage: sha1 [file]
 sha1()
 {
-	sha1sum "$1"
+	if [ $# = 1 ]
+	then
+		sha1sum "$1"
+	else
+		sha1sum
+	fi
 }
 
 # usage: cp_a <src> <dst>
diff --git a/os.SunOS b/os.SunOS
index 30b9cb0..aaebf88 100644
--- a/os.SunOS
+++ b/os.SunOS
@@ -30,7 +30,12 @@ head_n()
 # usage: sha1 [file]
 sha1()
 {
-	sha1sum "$1"
+	if [ $# = 1 ]
+	then
+		sha1sum "$1"
+	else
+		sha1sum
+	fi
 }
 
 # usage: cp_a <src> <dst>
-- 
1.8.1
Previous: Jonathan NiederNext: Jonathan Nieder
Message 6 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.