{"thread":{"id":"37465","subject":"[PATCH v2] stash: prefer --quiet over shell redirection","startedAt":"2014-08-31T07:42:53Z","lastAt":"2014-09-13T21:57:59Z","messageCount":3,"participants":["David Aguilar","Junio C Hamano"],"isPatch":true,"patchVersion":2,"patchTotal":null},"messages":[{"id":"248677","messageId":"1409470973-67707-1-git-send-email-davvid@gmail.com","threadId":"37465","inReplyTo":null,"subject":"[PATCH v2] stash: prefer --quiet over shell redirection","fromName":"David Aguilar","fromEmail":"davvid@gmail.com","sentAt":"2014-08-31T07:42:53Z","receivedAt":"2014-08-31T07:42:53Z","isPatch":true,"sender":{"key":"davvid@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13196?v=4"},"body":"Use `git rev-parse --verify --quiet` instead of redirecting\nstderr to /dev/null.\n\nSigned-off-by: David Aguilar <davvid@gmail.com>\n---\n git-stash.sh | 13 +++++++------\n 1 file changed, 7 insertions(+), 6 deletions(-)\n\ndiff --git a/git-stash.sh b/git-stash.sh\nindex bcc757b..2ff8b94 100755\n--- a/git-stash.sh\n+++ b/git-stash.sh\n@@ -50,7 +50,7 @@ clear_stash () {\n \tthen\n \t\tdie \"$(gettext \"git stash clear with parameters is unimplemented\")\"\n \tfi\n-\tif current=$(git rev-parse --verify $ref_stash 2>/dev/null)\n+\tif current=$(git rev-parse --verify --quiet $ref_stash)\n \tthen\n \t\tgit update-ref -d $ref_stash $current\n \tfi\n@@ -292,7 +292,7 @@ save_stash () {\n }\n \n have_stash () {\n-\tgit rev-parse --verify $ref_stash >/dev/null 2>&1\n+\tgit rev-parse --verify --quiet $ref_stash >/dev/null\n }\n \n list_stash () {\n@@ -392,12 +392,12 @@ parse_flags_and_rev()\n \t\t;;\n \tesac\n \n-\tREV=$(git rev-parse --quiet --symbolic --verify \"$1\" 2>/dev/null) || {\n+\tREV=$(git rev-parse --symbolic --verify --quiet \"$1\") || {\n \t\treference=\"$1\"\n \t\tdie \"$(eval_gettext \"\\$reference is not valid reference\")\"\n \t}\n \n-\ti_commit=$(git rev-parse --quiet --verify \"$REV^2\" 2>/dev/null) &&\n+\ti_commit=$(git rev-parse --verify --quiet \"$REV^2\") &&\n \tset -- $(git rev-parse \"$REV\" \"$REV^1\" \"$REV:\" \"$REV^1:\" \"$REV^2:\" 2>/dev/null) &&\n \ts=$1 &&\n \tw_commit=$1 &&\n@@ -409,7 +409,7 @@ parse_flags_and_rev()\n \ttest \"$ref_stash\" = \"$(git rev-parse --symbolic-full-name \"${REV%@*}\")\" &&\n \tIS_STASH_REF=t\n \n-\tu_commit=$(git rev-parse --quiet --verify \"$REV^3\" 2>/dev/null) &&\n+\tu_commit=$(git rev-parse --verify --quiet \"$REV^3\") &&\n \tu_tree=$(git rev-parse \"$REV^3:\" 2>/dev/null)\n }\n \n@@ -531,7 +531,8 @@ drop_stash () {\n \t\tdie \"$(eval_gettext \"\\${REV}: Could not drop stash entry\")\"\n \n \t# clear_stash if we just dropped the last stash entry\n-\tgit rev-parse --verify \"$ref_stash@{0}\" >/dev/null 2>&1 || clear_stash\n+\tgit rev-parse --verify --quiet \"$ref_stash@{0}\" >/dev/null ||\n+\tclear_stash\n }\n \n apply_to_branch () {\n-- \n2.1.0.29.g9b751c4\n"},{"id":"249324","messageId":"xmqqoaukacc3.fsf@gitster.dls.corp.google.com","threadId":"37465","inReplyTo":"1409470973-67707-1-git-send-email-davvid@gmail.com","subject":"Re: [PATCH v2] stash: prefer --quiet over shell redirection","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2014-09-12T19:05:48Z","receivedAt":"2014-09-12T19:05:48Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"David Aguilar <davvid@gmail.com> writes:\n\n> Use `git rev-parse --verify --quiet` instead of redirecting\n> stderr to /dev/null.\n>\n> Signed-off-by: David Aguilar <davvid@gmail.com>\n> ---\n\nHas this patch ever been tested?  t3903 seems to break with this at\nleast for me.\n\n>  git-stash.sh | 13 +++++++------\n>  1 file changed, 7 insertions(+), 6 deletions(-)\n>\n> diff --git a/git-stash.sh b/git-stash.sh\n> index bcc757b..2ff8b94 100755\n> --- a/git-stash.sh\n> +++ b/git-stash.sh\n> @@ -50,7 +50,7 @@ clear_stash () {\n>  \tthen\n>  \t\tdie \"$(gettext \"git stash clear with parameters is unimplemented\")\"\n>  \tfi\n> -\tif current=$(git rev-parse --verify $ref_stash 2>/dev/null)\n> +\tif current=$(git rev-parse --verify --quiet $ref_stash)\n>  \tthen\n>  \t\tgit update-ref -d $ref_stash $current\n>  \tfi\n> @@ -292,7 +292,7 @@ save_stash () {\n>  }\n>  \n>  have_stash () {\n> -\tgit rev-parse --verify $ref_stash >/dev/null 2>&1\n> +\tgit rev-parse --verify --quiet $ref_stash >/dev/null\n>  }\n>  \n>  list_stash () {\n> @@ -392,12 +392,12 @@ parse_flags_and_rev()\n>  \t\t;;\n>  \tesac\n>  \n> -\tREV=$(git rev-parse --quiet --symbolic --verify \"$1\" 2>/dev/null) || {\n> +\tREV=$(git rev-parse --symbolic --verify --quiet \"$1\") || {\n>  \t\treference=\"$1\"\n>  \t\tdie \"$(eval_gettext \"\\$reference is not valid reference\")\"\n>  \t}\n>  \n> -\ti_commit=$(git rev-parse --quiet --verify \"$REV^2\" 2>/dev/null) &&\n> +\ti_commit=$(git rev-parse --verify --quiet \"$REV^2\") &&\n>  \tset -- $(git rev-parse \"$REV\" \"$REV^1\" \"$REV:\" \"$REV^1:\" \"$REV^2:\" 2>/dev/null) &&\n>  \ts=$1 &&\n>  \tw_commit=$1 &&\n> @@ -409,7 +409,7 @@ parse_flags_and_rev()\n>  \ttest \"$ref_stash\" = \"$(git rev-parse --symbolic-full-name \"${REV%@*}\")\" &&\n>  \tIS_STASH_REF=t\n>  \n> -\tu_commit=$(git rev-parse --quiet --verify \"$REV^3\" 2>/dev/null) &&\n> +\tu_commit=$(git rev-parse --verify --quiet \"$REV^3\") &&\n>  \tu_tree=$(git rev-parse \"$REV^3:\" 2>/dev/null)\n>  }\n>  \n> @@ -531,7 +531,8 @@ drop_stash () {\n>  \t\tdie \"$(eval_gettext \"\\${REV}: Could not drop stash entry\")\"\n>  \n>  \t# clear_stash if we just dropped the last stash entry\n> -\tgit rev-parse --verify \"$ref_stash@{0}\" >/dev/null 2>&1 || clear_stash\n> +\tgit rev-parse --verify --quiet \"$ref_stash@{0}\" >/dev/null ||\n> +\tclear_stash\n>  }\n>  \n>  apply_to_branch () {\n"},{"id":"249364","messageId":"20140913215758.GA72562@gmail.com","threadId":"37465","inReplyTo":"xmqqoaukacc3.fsf@gitster.dls.corp.google.com","subject":"Re: [PATCH v2] stash: prefer --quiet over shell redirection","fromName":"David Aguilar","fromEmail":"davvid@gmail.com","sentAt":"2014-09-13T21:57:59Z","receivedAt":"2014-09-13T21:57:59Z","isPatch":true,"sender":{"key":"davvid@gmail.com","avatar":"https://avatars.githubusercontent.com/u/13196?v=4"},"body":"On Fri, Sep 12, 2014 at 12:05:48PM -0700, Junio C Hamano wrote:\n> David Aguilar <davvid@gmail.com> writes:\n> \n> > Use `git rev-parse --verify --quiet` instead of redirecting\n> > stderr to /dev/null.\n> >\n> > Signed-off-by: David Aguilar <davvid@gmail.com>\n> > ---\n> \n> Has this patch ever been tested?  t3903 seems to break with this at\n> least for me.\n\nOops, I thought I did but it's definitely failing in pu.\n\nThe root cause is that \"git rev-parse --verify --quiet\" is not\nactually quiet.\n\nI'll send a patch to fix this shortly.\n\nIt touches the ref machinery, which I know Ronnie has been improving,\nso I hope this doesn't cause any conflicts with other in-flight topics.\n\n\n> >  git-stash.sh | 13 +++++++------\n> >  1 file changed, 7 insertions(+), 6 deletions(-)\n> >\n> > diff --git a/git-stash.sh b/git-stash.sh\n> > index bcc757b..2ff8b94 100755\n> > --- a/git-stash.sh\n> > +++ b/git-stash.sh\n> > @@ -50,7 +50,7 @@ clear_stash () {\n> >  \tthen\n> >  \t\tdie \"$(gettext \"git stash clear with parameters is unimplemented\")\"\n> >  \tfi\n> > -\tif current=$(git rev-parse --verify $ref_stash 2>/dev/null)\n> > +\tif current=$(git rev-parse --verify --quiet $ref_stash)\n> >  \tthen\n> >  \t\tgit update-ref -d $ref_stash $current\n> >  \tfi\n> > @@ -292,7 +292,7 @@ save_stash () {\n> >  }\n> >  \n> >  have_stash () {\n> > -\tgit rev-parse --verify $ref_stash >/dev/null 2>&1\n> > +\tgit rev-parse --verify --quiet $ref_stash >/dev/null\n> >  }\n> >  \n> >  list_stash () {\n> > @@ -392,12 +392,12 @@ parse_flags_and_rev()\n> >  \t\t;;\n> >  \tesac\n> >  \n> > -\tREV=$(git rev-parse --quiet --symbolic --verify \"$1\" 2>/dev/null) || {\n> > +\tREV=$(git rev-parse --symbolic --verify --quiet \"$1\") || {\n> >  \t\treference=\"$1\"\n> >  \t\tdie \"$(eval_gettext \"\\$reference is not valid reference\")\"\n> >  \t}\n> >  \n> > -\ti_commit=$(git rev-parse --quiet --verify \"$REV^2\" 2>/dev/null) &&\n> > +\ti_commit=$(git rev-parse --verify --quiet \"$REV^2\") &&\n> >  \tset -- $(git rev-parse \"$REV\" \"$REV^1\" \"$REV:\" \"$REV^1:\" \"$REV^2:\" 2>/dev/null) &&\n> >  \ts=$1 &&\n> >  \tw_commit=$1 &&\n> > @@ -409,7 +409,7 @@ parse_flags_and_rev()\n> >  \ttest \"$ref_stash\" = \"$(git rev-parse --symbolic-full-name \"${REV%@*}\")\" &&\n> >  \tIS_STASH_REF=t\n> >  \n> > -\tu_commit=$(git rev-parse --quiet --verify \"$REV^3\" 2>/dev/null) &&\n> > +\tu_commit=$(git rev-parse --verify --quiet \"$REV^3\") &&\n> >  \tu_tree=$(git rev-parse \"$REV^3:\" 2>/dev/null)\n> >  }\n> >  \n> > @@ -531,7 +531,8 @@ drop_stash () {\n> >  \t\tdie \"$(eval_gettext \"\\${REV}: Could not drop stash entry\")\"\n> >  \n> >  \t# clear_stash if we just dropped the last stash entry\n> > -\tgit rev-parse --verify \"$ref_stash@{0}\" >/dev/null 2>&1 || clear_stash\n> > +\tgit rev-parse --verify --quiet \"$ref_stash@{0}\" >/dev/null ||\n> > +\tclear_stash\n> >  }\n> >  \n> >  apply_to_branch () {\n\n-- \nDavid\n"}]}