git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] Reintegrate: send "Huh?" warnings to stderr, not stdout

From
Tian Yuchen <cat@malon.dev>
Date
Apr 28, 2026, 18:05 UTC
Message-ID
<5a821f71-3d6e-4942-9bdb-257617484a6b@malon.dev>
In-Reply-To
<ae896PlyiYeqldFN@mbp>
On 4/27/26 18:47, Erik Cervin-Edin wrote:
Show 5 quoted lines
> The "Huh?: $msg" warning in show_merge(), emitted when a first-parent
> merge subject does not match either "Merge branch '...'" or "Merge
> remote branch '...'", uses
> 
> 	echo 2>&1 "Huh?: $msg"
Yes, this is clearly wrong.
> The "2>&1" redirect dupes stderr onto stdout's destination; it does
> not change where stdout itself points.  Since echo writes to stdout,
> the "Huh?:" message lands on stdout regardless -- as would any
> command's normal output.  
> The intent appears to have been ">&2", which dupes stdout onto stderr.

It would be better for me if this sentence (i.e., what was the code originally *intended* to do before the patch?) were placed right at the beginning. Something similar to:

	In show_merge(), the warning "Huh?: $msg" is emitted to stdout because 
it uses the erroneous redirect `echo 2>&1`. The intent was clearly to 
use `>&2` to print to stderr...
Of course, it’s up to you ;)
Show 14 quoted lines
> 
> In the common Reintegrate invocation that captures stdout, e.g.
> 
> 	Meta/Reintegrate next..seen >Meta/redo-seen.sh
> 
> this means the warning is silently embedded in the generated heredoc
> body instead of being printed to the maintainer's terminal.  The
> resulting redo-* script is corrupted with a "Huh?:..." line and the
> maintainer has no diagnostic that something went wrong.
> 
> Every other diagnostic in this script already uses ">&2"; this line
> is the lone outlier.
> 
> Use ">&2" so the warning reaches stderr as intended.
Overall, the reasoning is nice :-)
Show 18 quoted lines
> Signed-off-by: Erik Cervin-Edin <erik@cervined.in>
> ---
>   Reintegrate | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/Reintegrate b/Reintegrate
> index a1e67a0330..6fdc7c5f41 100755
> --- a/Reintegrate
> +++ b/Reintegrate
> @@ -327,7 +327,7 @@ show_merge () {
>   		merge_hier=
>   		;;
>   	*)
> -		echo 2>&1 "Huh?: $msg"
> +		echo >&2 "Huh?: $msg"
>   		return
>   		;;
>   	esac &&
Thanks, Yuchen
Previous: Erik Cervin-EdinNext: Erik Cervin Edin
Message 2 of 4 in “Reintegrate: send "Huh?" warnings to stderr, not stdout”
  1. Reintegrate: send "Huh?" warnings to stderr, not stdoutErik Cervin-Edin, Apr 27, 2026
  2. Tian YuchenApr 28, 2026
  3. Erik Cervin EdinMay 4, 2026
  4. Reintegrate: send "Huh?" warnings to stderr, not stdouterik@cervined.in, May 4, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.