From: Rob Shearman Date: Mon, 14 Jul 2008 19:57:17 GMT Subject: Re: [PATCH] git-rebase.sh: Display error output from git-checkout when detaching HEAD fails. Message-ID: <1096648c0807141257i76f70322p5a16c86c1c826a66@mail.gmail.com> In-Reply-To: <7vr6a0hvvu.fsf@gitster.siamese.dyndns.org> 2008/7/11 Junio C Hamano : > Robert Shearman writes: >> diff --git a/git-rebase.sh b/git-rebase.sh >> index e2d85ee..0da2210 100755 >> --- a/git-rebase.sh >> +++ b/git-rebase.sh >> @@ -376,7 +376,7 @@ fi >> >> # Detach HEAD and reset the tree >> echo "First, rewinding head to replay your work on top of it..." >> -git checkout "$onto^0" >/dev/null 2>&1 || > > I think this very much is done deliberately by somebody who knows the > shell to discard everything. Why wasn't "git checkout "$onto^0" &> /dev/null" used then? Then only reason I can come up with would be portability, but it seems surprising to me. >> +git checkout "$onto^0" 2>&1 >/dev/null || > > And if it is beneficial to show the error, you just do not touch fd #2, > like this: > > git checkout "$onto^0" >/dev/null Absolutely. I was just trying to fix the statement to what I thought was the original intent. > As I do not see any reason to send the error message to stdout like you > did. > > I also suspect that this part of the script predates 6124aee (add a quiet > option to git-checkout, 2007-02-01) where the command learned to be more > quiet during the normal operation. Perhaps you can replace the line with > > git checkout -q "$onto^0" > > and be done with it. I haven't tested it, though. I just tested it and it solves the original issue whilst not displaying unnecessary messages during a rebase. For reference, the attached script reproduces the issue that I was trying to solve. Should I resend the patch (like the following) now that it is effectively completely your work? -git checkout "$onto^0" >/dev/null 2>&1 || +git checkout -q "$onto^0" || -- Rob Shearman