threads / patch / 34135

v2prompt: squelch error output from cat

Subject: [PATCH v2] prompt: squelch error output from cat

## tl;dr

2 messages between Jun 14, 2013 and Jun 14, 2013. Diffs are folded; open one to read it.

replies: 1people: 2as markdown or json

Ramkumar Ramachandra· Jun 14, 2013, 08:28 UTC · lore

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(-)
Show changes to contrib/completion/git-prompt.sh +6 −6
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

← back to recent threads