Re: [PATCH] t/lib-gpg: fix gpgconf stderr redirect to /dev/null
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 14, 2017, 03:30 UTC
- Message-ID
- <xmqqshdh5ygy.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <20171114030351.GS5144@zaya.teonanacatl.net>
Todd Zullinger <tmz@pobox.com> writes:
Show 23 quoted lines
>> I wonder if this line in 3320 is doing what it meant to do:
>>
>> test_must_fail git notes merge z 2>&1 >out && test_i18ngrep
>> "Automatic notes merge failed" out && grep -v "A notes merge into
>> refs/notes/x is already in-progress in" out
>
> That's a fine question. I only grepped for 2>&1 >/dev/null. Dropping
> /dev/null, as you did only turns up that test as an additional hit.
>
> I think, based on a very cursory reading of the test, that it's
> intending to direct stderr and stdout to the file out. The test gets
> lucky that the code in builtin/notes.c directs the error message to
> stdout:
>
> printf(_("Automatic notes merge failed. Fix conflicts in %s and "
> "commit the result with 'git notes merge --commit', or "
> "abort the merge with 'git notes merge --abort'.\n"),
> git_path(NOTES_MERGE_WORKTREE));
>
> Perhaps that should be using fprintf(stderr, ...) instead? (And the
> test redirection corrected as well, of course.) If that seems
> correct, I can submit the trivial patch for that as well, while I'm on
> the subject.The message goes to the standard output stream since it was introduced in 809f38c8 ("git notes merge: Manual conflict resolution, part 1/2", 2010-11-09) and 6abb3655 ("git notes merge: Manual conflict resolution, part 2/2", 2010-11-09). I do think it makes more sense to send it to the standard error stream, but just in case if the original author thinks of a reason why it shouldn't, let's summon Johan and ask his input.
Thanks.