Merge branch 'jc/unresolve-removal'
commit5bb67fb7ab035ef399d019440f184aee3608f3e7
authorJunio C Hamano <gitster@pobox.com>
Mon, 2 Oct 2023 18:20:00 +0000 (2 11:20 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 2 Oct 2023 18:20:00 +0000 (2 11:20 -0700)
treebd3a7acf0d30c9531630eb4f23de4fdbc1d92310
parent493f4622739e9b64f24b465b21aa85870dd9dc09
parent5bdedac3c7b0894643256304cd5f0dd29cf8eec9
Merge branch 'jc/unresolve-removal'

"checkout --merge -- path" and "update-index --unresolve path" did
not resurrect conflicted state that was resolved to remove path,
but now they do.

* jc/unresolve-removal:
  checkout: allow "checkout -m path" to unmerge removed paths
  checkout/restore: add basic tests for --merge
  checkout/restore: refuse unmerging paths unless checking out of the index
  update-index: remove stale fallback code for "--unresolve"
  update-index: use unmerge_index_entry() to support removal
  resolve-undo: allow resurrecting conflicted state that resolved to deletion
  update-index: do not read HEAD and MERGE_HEAD unconditionally
builtin/checkout.c
builtin/update-index.c
rerere.c
resolve-undo.c
t/t7201-co.sh