mirror of
https://github.com/git/git.git
synced 2026-08-08 17:11:48 +00:00
read-cache: split out function to drop unmerged entries to stage 0
In `repo_read_index_unmerged()` we read the index and then drop any unmerged entries to stage 0. In a subsequent commit we'll want to perform this operation on arbitrary indexes, not only the one of the given repository. Prepare for this by splitting out the functionality into a new function that can act on an arbitrary index. While at it, fix a signedness mismatch when iterating through the index cache entries. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
1666c12652
commit
ca39c3511d
@@ -309,6 +309,7 @@ int write_locked_index(struct index_state *, struct lock_file *lock, unsigned fl
|
||||
void discard_index(struct index_state *);
|
||||
void move_index_extensions(struct index_state *dst, struct index_state *src);
|
||||
int unmerged_index(const struct index_state *);
|
||||
int index_state_unmerged_to_stage0(struct index_state *istate);
|
||||
|
||||
/**
|
||||
* Returns 1 if istate differs from tree, 0 otherwise. If tree is NULL,
|
||||
|
||||
12
read-cache.c
12
read-cache.c
@@ -3403,13 +3403,15 @@ out:
|
||||
*/
|
||||
int repo_read_index_unmerged(struct repository *repo)
|
||||
{
|
||||
struct index_state *istate;
|
||||
int i;
|
||||
repo_read_index(repo);
|
||||
return index_state_unmerged_to_stage0(repo->index);
|
||||
}
|
||||
|
||||
int index_state_unmerged_to_stage0(struct index_state *istate)
|
||||
{
|
||||
int unmerged = 0;
|
||||
|
||||
repo_read_index(repo);
|
||||
istate = repo->index;
|
||||
for (i = 0; i < istate->cache_nr; i++) {
|
||||
for (unsigned int i = 0; i < istate->cache_nr; i++) {
|
||||
struct cache_entry *ce = istate->cache[i];
|
||||
struct cache_entry *new_ce;
|
||||
int len;
|
||||
|
||||
Reference in New Issue
Block a user