Merge branch 'nd/the-index-final'
The assumption to work on the single "in-core index" instance has been reduced from the library-ish part of the codebase. * nd/the-index-final: cache.h: flip NO_THE_INDEX_COMPATIBILITY_MACROS switch read-cache.c: remove the_* from index_has_changes() merge-recursive.c: remove implicit dependency on the_repository merge-recursive.c: remove implicit dependency on the_index sha1-name.c: remove implicit dependency on the_index read-cache.c: replace update_index_if_able with repo_& read-cache.c: kill read_index() checkout: avoid the_index when possible repository.c: replace hold_locked_index() with repo_hold_locked_index() notes-utils.c: remove the_repository references grep: use grep_opt->repo instead of explict repo argument
This commit is contained in:
44
read-cache.c
44
read-cache.c
@ -3,7 +3,6 @@
|
||||
*
|
||||
* Copyright (C) Linus Torvalds, 2005
|
||||
*/
|
||||
#define NO_THE_INDEX_COMPATIBILITY_MACROS
|
||||
#include "cache.h"
|
||||
#include "config.h"
|
||||
#include "diff.h"
|
||||
@ -95,7 +94,6 @@ static struct mem_pool *find_mem_pool(struct index_state *istate)
|
||||
return *pool_ptr;
|
||||
}
|
||||
|
||||
struct index_state the_index;
|
||||
static const char *alternate_index_output;
|
||||
|
||||
static void set_index_entry(struct index_state *istate, int nr, struct cache_entry *ce)
|
||||
@ -1733,16 +1731,6 @@ static int read_index_extension(struct index_state *istate,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int hold_locked_index(struct lock_file *lk, int lock_flags)
|
||||
{
|
||||
return hold_lock_file_for_update(lk, get_index_file(), lock_flags);
|
||||
}
|
||||
|
||||
int read_index(struct index_state *istate)
|
||||
{
|
||||
return read_index_from(istate, get_index_file(), get_git_dir());
|
||||
}
|
||||
|
||||
static struct cache_entry *create_from_disk(struct mem_pool *ce_mem_pool,
|
||||
unsigned int version,
|
||||
struct ondisk_cache_entry *ondisk,
|
||||
@ -2375,22 +2363,20 @@ int unmerged_index(const struct index_state *istate)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int index_has_changes(struct index_state *istate,
|
||||
struct tree *tree,
|
||||
struct strbuf *sb)
|
||||
int repo_index_has_changes(struct repository *repo,
|
||||
struct tree *tree,
|
||||
struct strbuf *sb)
|
||||
{
|
||||
struct index_state *istate = repo->index;
|
||||
struct object_id cmp;
|
||||
int i;
|
||||
|
||||
if (istate != &the_index) {
|
||||
BUG("index_has_changes cannot yet accept istate != &the_index; do_diff_cache needs updating first.");
|
||||
}
|
||||
if (tree)
|
||||
cmp = tree->object.oid;
|
||||
if (tree || !get_oid_tree("HEAD", &cmp)) {
|
||||
struct diff_options opt;
|
||||
|
||||
repo_diff_setup(the_repository, &opt);
|
||||
repo_diff_setup(repo, &opt);
|
||||
opt.flags.exit_with_status = 1;
|
||||
if (!sb)
|
||||
opt.flags.quick = 1;
|
||||
@ -2664,9 +2650,9 @@ out:
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int verify_index(const struct index_state *istate)
|
||||
static int repo_verify_index(struct repository *repo)
|
||||
{
|
||||
return verify_index_from(istate, get_index_file());
|
||||
return verify_index_from(repo->index, repo->index_file);
|
||||
}
|
||||
|
||||
static int has_racy_timestamp(struct index_state *istate)
|
||||
@ -2682,11 +2668,13 @@ static int has_racy_timestamp(struct index_state *istate)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void update_index_if_able(struct index_state *istate, struct lock_file *lockfile)
|
||||
void repo_update_index_if_able(struct repository *repo,
|
||||
struct lock_file *lockfile)
|
||||
{
|
||||
if ((istate->cache_changed || has_racy_timestamp(istate)) &&
|
||||
verify_index(istate))
|
||||
write_locked_index(istate, lockfile, COMMIT_LOCK);
|
||||
if ((repo->index->cache_changed ||
|
||||
has_racy_timestamp(repo->index)) &&
|
||||
repo_verify_index(repo))
|
||||
write_locked_index(repo->index, lockfile, COMMIT_LOCK);
|
||||
else
|
||||
rollback_lock_file(lockfile);
|
||||
}
|
||||
@ -3223,12 +3211,14 @@ out:
|
||||
* state can call this and check its return value, instead of calling
|
||||
* read_cache().
|
||||
*/
|
||||
int read_index_unmerged(struct index_state *istate)
|
||||
int repo_read_index_unmerged(struct repository *repo)
|
||||
{
|
||||
struct index_state *istate;
|
||||
int i;
|
||||
int unmerged = 0;
|
||||
|
||||
read_index(istate);
|
||||
repo_read_index(repo);
|
||||
istate = repo->index;
|
||||
for (i = 0; i < istate->cache_nr; i++) {
|
||||
struct cache_entry *ce = istate->cache[i];
|
||||
struct cache_entry *new_ce;
|
||||
|
||||
Reference in New Issue
Block a user