reset: support "--mixed --intent-to-add" mode
When --mixed is used, entries could be removed from index if the target ref does not have them. When "reset" is used in preparation for commit spliting (in a dirty worktree), it could be hard to track what files to be added back. The new option --intent-to-add simplifies it by marking all removed files intent-to-add. Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
This commit is contained in:
committed by
Junio C Hamano
parent
be961c292f
commit
b4b313f94a
@ -579,7 +579,7 @@ static struct cache_entry *create_alias_ce(struct cache_entry *ce, struct cache_
|
||||
return new;
|
||||
}
|
||||
|
||||
static void record_intent_to_add(struct cache_entry *ce)
|
||||
void set_object_name_for_intent_to_add_entry(struct cache_entry *ce)
|
||||
{
|
||||
unsigned char sha1[20];
|
||||
if (write_sha1_file("", 0, blob_type, sha1))
|
||||
@ -665,7 +665,7 @@ int add_to_index(struct index_state *istate, const char *path, struct stat *st,
|
||||
if (index_path(ce->sha1, path, st, HASH_WRITE_OBJECT))
|
||||
return error("unable to index file %s", path);
|
||||
} else
|
||||
record_intent_to_add(ce);
|
||||
set_object_name_for_intent_to_add_entry(ce);
|
||||
|
||||
if (ignore_case && alias && different_name(ce, alias))
|
||||
ce = create_alias_ce(ce, alias);
|
||||
|
||||
Reference in New Issue
Block a user