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

[PATCH v2] prompt: squelch error output from cat

From
Ramkumar Ramachandra <artagnon@gmail.com>
Date
Jun 14, 2013, 08:28 UTC
Message-ID
<1371198485-32663-1-git-send-email-artagnon@gmail.com>

The files $g/rebase-{merge,apply}/{head-name,msgnum,end} are not guaranteed to exist. When attempting to cat them, squelch the error output.

In addition to guarding against stray directories, this patch addresses a real problem:

  # on terminal 1
  $ git rebase -i master
  # ignore editor, and switch to terminal 2
  cat: .git/rebase-merge/msgnum: No such file or directory
  cat: .git/rebase-merge/end: No such file or directory
  $
Signed-off-by: Ramkumar Ramachandra <artagnon@gmail.com>
---
 Better commit message.
 contrib/completion/git-prompt.sh | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/contrib/completion/git-prompt.sh b/contrib/completion/git-prompt.sh
index 86a4f3f..07a6218 100644
--- a/contrib/completion/git-prompt.sh
+++ b/contrib/completion/git-prompt.sh
@@ -347,9 +347,9 @@ __git_ps1 ()
 		local step=""
 		local total=""
 		if [ -d "$g/rebase-merge" ]; then
-			b="$(cat "$g/rebase-merge/head-name")"
-			step=$(cat "$g/rebase-merge/msgnum")
-			total=$(cat "$g/rebase-merge/end")
+			b="$(cat "$g/rebase-merge/head-name" 2>/dev/null)"
+			step=$(cat "$g/rebase-merge/msgnum" 2>/dev/null)
+			total=$(cat "$g/rebase-merge/end" 2>/dev/null)
 			if [ -f "$g/rebase-merge/interactive" ]; then
 				r="|REBASE-i"
 			else
@@ -357,10 +357,10 @@ __git_ps1 ()
 			fi
 		else
 			if [ -d "$g/rebase-apply" ]; then
-				step=$(cat "$g/rebase-apply/next")
-				total=$(cat "$g/rebase-apply/last")
+				step=$(cat "$g/rebase-apply/next" 2>/dev/null)
+				total=$(cat "$g/rebase-apply/last" 2>/dev/null)
 				if [ -f "$g/rebase-apply/rebasing" ]; then
-					b="$(cat "$g/rebase-apply/head-name")"
+					b="$(cat "$g/rebase-apply/head-name" 2>/dev/null)"
 					r="|REBASE"
 				elif [ -f "$g/rebase-apply/applying" ]; then
 					r="|AM"
-- 
1.8.3.1.383.gbc1f167.dirty
Next: Junio C Hamano
Message 1 of 2 in “prompt: squelch error output from cat”
  1. prompt: squelch error output from catRamkumar Ramachandra, Jun 14, 2013
  2. Junio C HamanoJun 14, 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.