diff options
author | Christian Couder <christian.couder@gmail.com> | 2017-03-06 10:42:00 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-03-06 12:09:28 -0800 |
commit | de6ae5f9e3e0960e2adcba4688ed4293edc8424a (patch) | |
tree | f3b3f0a45100e1cf7525047f4a242d2efe7c82e1 /read-cache.c | |
parent | t1700: test shared index file expiration (diff) | |
download | tgif-de6ae5f9e3e0960e2adcba4688ed4293edc8424a.tar.xz |
read-cache: refactor read_index_from()
It looks better and is simpler to review when we don't compute
the same things many times in the function.
It will also help make the following commit simpler.
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'read-cache.c')
-rw-r--r-- | read-cache.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/read-cache.c b/read-cache.c index 39002bc1b1..ace3fc515b 100644 --- a/read-cache.c +++ b/read-cache.c @@ -1699,6 +1699,8 @@ int read_index_from(struct index_state *istate, const char *path) { struct split_index *split_index; int ret; + char *base_sha1_hex; + const char *base_path; /* istate->initialized covers both .git/index and .git/sharedindex.xxx */ if (istate->initialized) @@ -1716,15 +1718,15 @@ int read_index_from(struct index_state *istate, const char *path) discard_index(split_index->base); else split_index->base = xcalloc(1, sizeof(*split_index->base)); - ret = do_read_index(split_index->base, - git_path("sharedindex.%s", - sha1_to_hex(split_index->base_sha1)), 1); + + base_sha1_hex = sha1_to_hex(split_index->base_sha1); + base_path = git_path("sharedindex.%s", base_sha1_hex); + ret = do_read_index(split_index->base, base_path, 1); if (hashcmp(split_index->base_sha1, split_index->base->sha1)) die("broken index, expect %s in %s, got %s", - sha1_to_hex(split_index->base_sha1), - git_path("sharedindex.%s", - sha1_to_hex(split_index->base_sha1)), + base_sha1_hex, base_path, sha1_to_hex(split_index->base->sha1)); + merge_base_index(istate); post_read_index_from(istate); return ret; |