diff options
author | Elijah Newren <newren@gmail.com> | 2020-10-26 17:01:42 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-10-26 12:31:24 -0700 |
commit | 23bef2e33c3290ae308c2ce37e290a25eb5b97bc (patch) | |
tree | b76387d6869f0c2fa5f497c860586e554707cb7f /refs.h | |
parent | merge tests: expect slight differences in output for recursive vs. ort (diff) | |
download | tgif-23bef2e33c3290ae308c2ce37e290a25eb5b97bc.tar.xz |
t6423, t6436: note improved ort handling with dirty files
The "recursive" backend relies on unpack_trees() to check if unstaged
changes would be overwritten by a merge, but unpack_trees() does not
understand renames -- and once it returns, it has already written many
updates to the working tree and index. As such, "recursive" had to do a
special 4-way merge where it would need to also treat the working copy
as an extra source of differences that we had to carefully avoid
overwriting and resulting in moving files to new locations to avoid
conflicts.
The "ort" backend, by contrast, does the complete merge inmemory, and
only updates the index and working copy as a post-processing step. If
there are dirty files in the way, it can simply abort the merge.
Update t6423 and t6436 to reflect the better merge abilities and
expectations we have for ort, while still leaving the
best-case-as-good-as-recursive-can-do expectations there for the
recursive backend so we retain its stability until we are ready to
deprecate and remove it.
Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs.h')
0 files changed, 0 insertions, 0 deletions