threads / patch / 16546

patchgit-stash: use git rev-parse -q

Subject: [PATCH] git-stash: use git rev-parse -q

## tl;dr

4 messages between Dec 2, 2008 and Dec 8, 2008. Diffs are folded; open one to read it.

replies: 3people: 3as markdown or json

Miklos Vajna· Dec 2, 2008, 00:56 UTC · lore

Don't redirect stderr to /dev/null, use -q to suppress the output on stderr.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
---
 git-stash.sh |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)
Show changes to git-stash.sh +6 −6
diff --git a/git-stash.sh b/git-stash.sh
index b9ace99..c0532e8 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -30,7 +30,7 @@ clear_stash () {
 	then
 		die "git stash clear with parameters is unimplemented"
 	fi
-	if current=$(git rev-parse --verify $ref_stash 2>/dev/null)
+	if current=$(git rev-parse -q --verify $ref_stash)
 	then
 		git update-ref -d $ref_stash $current
 	fi
@@ -129,7 +129,7 @@ save_stash () {
 }
 
 have_stash () {
-	git rev-parse --verify $ref_stash >/dev/null 2>&1
+	git rev-parse -q --verify $ref_stash >/dev/null
 }
 
 list_stash () {
@@ -229,16 +229,16 @@ drop_stash () {
 	fi
 	# Verify supplied argument looks like a stash entry
 	s=$(git rev-parse --verify "$@") &&
-	git rev-parse --verify "$s:"   > /dev/null 2>&1 &&
-	git rev-parse --verify "$s^1:" > /dev/null 2>&1 &&
-	git rev-parse --verify "$s^2:" > /dev/null 2>&1 ||
+	git rev-parse -q --verify "$s:"   > /dev/null &&
+	git rev-parse -q --verify "$s^1:" > /dev/null &&
+	git rev-parse -q --verify "$s^2:" > /dev/null ||
 		die "$*: not a valid stashed state"
 
 	git reflog delete --updateref --rewrite "$@" &&
 		echo "Dropped $* ($s)" || die "$*: Could not drop stash entry"
 
 	# clear_stash if we just dropped the last stash entry
-	git rev-parse --verify "$ref_stash@{0}" > /dev/null 2>&1 || clear_stash
+	git rev-parse -q --verify "$ref_stash@{0}" > /dev/null || clear_stash
 }
 
 apply_to_branch () {
-- 
1.6.0.4
Björn Steinbrink· Dec 7, 2008, 23:17 UTC · re: Miklos Vajna · lore

Re: [PATCH] git-stash: use git rev-parse -q

On 2008.12.02 01:56:09 +0100, Miklos Vajna wrote:
Show 9 quoted lines
> Don't redirect stderr to /dev/null, use -q to suppress the output on
> stderr.
> 
> Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
> ---
>  
>  	# clear_stash if we just dropped the last stash entry
> -	git rev-parse --verify "$ref_stash@{0}" > /dev/null 2>&1 || clear_stash
> +	git rev-parse -q --verify "$ref_stash@{0}" > /dev/null || clear_stash

This one causes an error message to pop up when the last stash entry is dropped:

doener@atjola:git (master) $ echo 123 >> Makefile

doener@atjola:git (master) $ git stash Saved working directory and index state "WIP on master: 2dd6202... Update draft release notes to 1.6.1" HEAD is now at 2dd6202 Update draft release notes to 1.6.1 (To restore them type "git stash apply")

doener@atjola:git (master) $ git stash drop Dropped refs/stash@{0} (e692e43ce03fe0b5f0eb94123123ea61a0f2097a) fatal: Log .git/logs/refs/stash is empty.

git version 1.6.1.rc1.56.g2dd62

After "git stash drop" finished the rev-parse won't complain anymore, even if you recreate an empty .git/logs/refs/stash file, because .git/refs/stash is also gone, and then it doesn't seem to care anymore.

But having a valid ref and an empty log makes it unhappy:

doener@atjola:git (master) $ git rev-parse HEAD > .git/refs/stash doener@atjola:git (master) $ : > .git/logs/refs/stash doener@atjola:git (master) $ git rev-parse -q --verify 'refs/stash@{1}' fatal: Log .git/logs/refs/stash is empty.

Björn
Miklos Vajna· Dec 8, 2008, 08:46 UTC · re: Junio C Hamano · lore

Re: [PATCH] git-stash: use git rev-parse -q

On Sun, Dec 07, 2008 at 05:42:46PM -0800, Junio C Hamano <gitster@pobox.com> wrote:
> Thanks; I'll revert this one.  Use of -q is simply not worth this
> aggravation.
Sorry, I missed that 2>/dev/null is used for this purpose there as well. 

← back to recent threads