Subject: [PATCH 0/2] merge-tree: add new --mergeability-only option

From: "Elijah Newren via GitGitGadget" <[email-masked]>
Date: Sat, 10 May 2025 22:02:39 +0000

This adds a new flag, --mergeability-only, to git merge-tree, which
suppresses all output and leaves only the exit status (reflecting successful
merge or conflict). This is useful for Git Forges in cases where they are
only interested in whether two branches can be merged, without needing the
actual merge result or conflict details.

The advantage of the flag is two fold:

 * The merge machinery can exit once it detects the first conflict, instead
   of continuing to compute merge result information
 * The merge machinery can avoid writing merged blobs and trees to the
   object store when in the outer layer of the merging process (more details
   in the first commit message).

Elijah Newren (2):
  merge-ort: add a new mergeability_only option
  merge-tree: add a new --mergeability-only flag

 Documentation/git-merge-tree.adoc |  6 +++++
 builtin/merge-tree.c              | 22 ++++++++++++++++++
 merge-ort.c                       | 38 +++++++++++++++++++++++++------
 merge-ort.h                       |  1 +
 t/t4301-merge-tree-write-tree.sh  | 38 +++++++++++++++++++++++++++++++
 5 files changed, 98 insertions(+), 7 deletions(-)

base-commit: 6c0bd1fc70efaf053abe4e57c976afdc72d15377
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1920%2Fnewren%2Fmergeability-only-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1920/newren/mergeability-only-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1920
-- 
gitgitgadget