On Mon, May 12, 2025 at 10:04 AM Junio C Hamano <gitster@xxxxxxxxx> wrote: > > "Elijah Newren via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > > > 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. > > Sounds useful, but wouldn't that usually called --dry-run? I thought about that, but I was worried that folks would expect "--dry-run" to not make any changes. This mode does not prevent writing objects to the object store, it merely avoids it in the "outer layer" of the merge. More precisely, objects will still be written to the object store for the merging of merge bases, and also be written to the object store in the case of rename/rename conflicts if the contents of the files involved in the conflicting renames were also modified by both sides.