diff options
author | Junio C Hamano <gitster@pobox.com> | 2023-08-01 01:44:09 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2023-08-01 02:16:44 +0300 |
commit | 5bdedac3c7b0894643256304cd5f0dd29cf8eec9 (patch) | |
tree | 13fdeb61cb4c728dee967e02909f7bf1e757f857 /builtin/update-index.c | |
parent | ed3789f2f0ab8b8d5e325e47f0caf02b6bd9edfc (diff) |
checkout: allow "checkout -m path" to unmerge removed paths
"git checkout -m -- path" uses the unmerge_marked_index() API, whose
implementation is incapable of unresolving a path that was resolved
as removed. Extend the unmerge_index() API function so that we can
mark the ce_flags member of the cache entries we add to the index as
unmerged, and replace use of unmerge_marked_index() with it.
Now, together with its unmerge_index_entry_at() helper function,
unmerge_marked_index() function is no longer called by anybody, and
can safely be removed.
This makes two known test failures in t2070 and t7201 to succeed.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/update-index.c')
-rw-r--r-- | builtin/update-index.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/builtin/update-index.c b/builtin/update-index.c index def7f98504..69fe9c8fcb 100644 --- a/builtin/update-index.c +++ b/builtin/update-index.c @@ -646,7 +646,7 @@ static int unresolve_one(const char *path) item = string_list_lookup(the_index.resolve_undo, path); if (!item) return res; /* no resolve-undo record for the path */ - res = unmerge_index_entry(&the_index, path, item->util); + res = unmerge_index_entry(&the_index, path, item->util, 0); FREE_AND_NULL(item->util); return res; } |