Files
git/builtin
Derrick Stolee a33806398a merge: make sparse-aware with ORT
Allow 'git merge' to operate without expanding a sparse index, at least
not immediately. The index still will be expanded in a few cases:

1. If the merge strategy is 'recursive', then we enable
   command_requires_full_index at the start of the merge_recursive()
   method. We expect sparse-index users to also have the 'ort' strategy
   enabled.

2. With the 'ort' strategy, if the merge results in a conflicted file,
   then we expand the index before updating the working tree. The loop
   that iterates over the worktree replaces index entries and tracks
   'origintal_cache_nr' which can become completely wrong if the index
   expands in the middle of the operation. This safety valve is
   important before that loop starts. A later change will focus this
   to only expand if we indeed have a conflict outside of the
   sparse-checkout cone.

3. Other merge strategies are executed as a 'git merge-X' subcommand,
   and those strategies are currently protected with the
   'command_requires_full_index' guard.

Some test updates are required, including a mistaken 'git checkout -b'
that did not specify the base branch, causing merges to be fast-forward
merges.

Signed-off-by: Derrick Stolee <dstolee@microsoft.com>
Reviewed-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-09-09 15:49:04 -07:00
..
2021-09-07 22:41:10 -07:00
2021-02-25 16:43:29 -08:00
2021-04-20 11:09:50 -07:00
2021-06-04 07:50:26 +09:00
2021-01-06 15:10:49 -08:00
2020-10-16 12:30:45 -07:00
2021-02-25 16:43:30 -08:00
2021-02-25 16:43:30 -08:00
2021-07-28 13:17:59 -07:00
2021-05-07 12:47:41 +09:00
2021-06-02 07:34:27 +09:00
2021-05-12 07:00:45 +09:00
2021-07-28 13:17:58 -07:00
2021-04-07 16:54:08 -07:00
2021-04-14 13:47:21 -07:00
2021-09-09 15:49:04 -07:00
2021-03-13 16:00:09 -08:00
2021-06-19 16:36:17 +09:00
2021-06-02 10:12:03 +09:00
2021-04-07 16:54:08 -07:00
2021-05-07 12:47:41 +09:00
2021-01-25 14:19:19 -08:00
2021-07-16 17:42:53 -07:00
2021-04-20 11:09:50 -07:00
2021-04-14 13:47:29 -07:00