Subject: [PATCH v2 0/5] merge-tree --stdin: flush stdout

From: "Phillip Wood via GitGitGadget" <[email-masked]>
Date: Tue, 18 Feb 2025 16:24:34 +0000

Thanks to Elijah for his comments on V1. I've updated the commit message of
patch 2 as he suggested. The rest of the patches are unchanged.

V1 Cover Letter:

I tried to squash some fixup commits with "git merge-tree --stdin" and found
that my script deadlocked because the output of "git merge-tree" is not
flushed after each merge. The first patch fixes that and the rest are
cleanups I noticed while reading the code and documentation. This series is
based on maint.

Phillip Wood (5):
  merge-tree --stdin: flush stdout to avoid deadlock
  merge-tree: remove redundant code
  merge-tree: only use basic merge config
  merge-tree: improve docs for --stdin
  merge-tree: fix link formatting in html docs

 Documentation/git-merge-tree.txt | 11 ++++++++---
 builtin/merge-tree.c             | 11 +++++------
 2 files changed, 13 insertions(+), 9 deletions(-)

base-commit: f93ff170b93a1782659637824b25923245ac9dd1
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1862%2Fphillipwood%2Fmerge-tree-flush-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1862/phillipwood/merge-tree-flush-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1862

Range-diff vs v1:

 1:  3b317978509 = 1:  3b317978509 merge-tree --stdin: flush stdout to avoid deadlock
 2:  16fec87766f ! 2:  63b09dbe1b7 merge-tree: remove redundant code
     @@ Commit message
      
          real_merge() only ever returns "0" or "1" as it dies if the merge status
          is less than zero. Therefore the check for "result < 0" is redundant and
     -    the result variable is not needed.
     +    the result variable is not needed. The return value of real_merge() is
     +    ignored because exit status of "git merge-tree --stdin" is "0" for both
     +    successful and conflicted merges (the status of each merge is written to
     +    stdout). The return type of real_merge() is not changed as it is used
     +    for the program's exit status when "--stdin" is not given.
      
          Signed-off-by: Phillip Wood <[email-masked]>
      
 3:  bf1dc603a15 = 3:  f95a15a4203 merge-tree: only use basic merge config
 4:  4c416850634 = 4:  1645b0e747e merge-tree: improve docs for --stdin
 5:  89722894c87 = 5:  a0179820092 merge-tree: fix link formatting in html docs

-- 
gitgitgadget