4 ms·
The output of 'git merge-base' is the base (of the 3-way diff) used when doing a normal merge. That's all. Other (non-merge) operations like cherry-pick and r
by oasisaimlessly 3y ago
The output of 'git merge-base' is the base (of the 3-way diff) used when doing a normal merge. That's all.
Other (non-merge) operations like cherry-pick and revert use a different base commit. If you squint, you can view these operations as a merge with an abnormally-chosen base commit, which is the whole point here.
The issue is just one of nomenclature; just because the '3way_merge(v1, base, v2)` algorithm is being used doesn't mean that a merge (with 'base = merge_base(v1, v2)') is being performed.