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 /resolve-undo.h | |
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 'resolve-undo.h')
-rw-r--r-- | resolve-undo.h | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/resolve-undo.h b/resolve-undo.h index 1ae321c88b..f3f8462751 100644 --- a/resolve-undo.h +++ b/resolve-undo.h @@ -17,9 +17,7 @@ void record_resolve_undo(struct index_state *, struct cache_entry *); void resolve_undo_write(struct strbuf *, struct string_list *); struct string_list *resolve_undo_read(const char *, unsigned long); void resolve_undo_clear_index(struct index_state *); -int unmerge_index_entry_at(struct index_state *, int); -int unmerge_index_entry(struct index_state *, const char *, struct resolve_undo_info *); -void unmerge_index(struct index_state *, const struct pathspec *); -void unmerge_marked_index(struct index_state *); +int unmerge_index_entry(struct index_state *, const char *, struct resolve_undo_info *, unsigned); +void unmerge_index(struct index_state *, const struct pathspec *, unsigned); #endif |