Browse Source

repo_read_index: don't discard the index

Have 'repo_read_index()' behave more like the other read_index family of
functions and don't discard the index if it has already been populated
and instead rely on the quick return of read_index_from which has:

  /* istate->initialized covers both .git/index and .git/sharedindex.xxx */
  if (istate->initialized)
    return istate->cache_nr;

Signed-off-by: Brandon Williams <bmwill@google.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Brandon Williams 8 years ago committed by Junio C Hamano
parent
commit
3f13877595
  1. 2
      repository.c
  2. 8
      repository.h

2
repository.c

@ -235,8 +235,6 @@ int repo_read_index(struct repository *repo) @@ -235,8 +235,6 @@ int repo_read_index(struct repository *repo)
{
if (!repo->index)
repo->index = xcalloc(1, sizeof(*repo->index));
else
discard_index(repo->index);

return read_index_from(repo->index, repo->index_file);
}

8
repository.h

@ -92,6 +92,14 @@ extern int repo_submodule_init(struct repository *submodule, @@ -92,6 +92,14 @@ extern int repo_submodule_init(struct repository *submodule,
const char *path);
extern void repo_clear(struct repository *repo);

/*
* Populates the repository's index from its index_file, an index struct will
* be allocated if needed.
*
* Return the number of index entries in the populated index or a value less
* than zero if an error occured. If the repository's index has already been
* populated then the number of entries will simply be returned.
*/
extern int repo_read_index(struct repository *repo);

#endif /* REPOSITORY_H */

Loading…
Cancel
Save