read-cache: use freshen_shared_index() in read_index_from()
This way a share index file will not be garbage collected if we still read from an index it is based from. As we need to read the current index before creating a new one, the tests have to be adjusted, so that we don't expect an old shared index file to be deleted right away when we create a new one. Signed-off-by: Christian Couder <chriscool@tuxfamily.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
de6ae5f9e3
commit
c3a0082502
@ -1727,6 +1727,7 @@ int read_index_from(struct index_state *istate, const char *path)
|
||||
base_sha1_hex, base_path,
|
||||
sha1_to_hex(split_index->base->sha1));
|
||||
|
||||
freshen_shared_index(base_sha1_hex, 0);
|
||||
merge_base_index(istate);
|
||||
post_read_index_from(istate);
|
||||
return ret;
|
||||
|
@ -313,17 +313,17 @@ test_expect_success 'check splitIndex.maxPercentChange set to 0' '
|
||||
test_expect_success 'shared index files expire after 2 weeks by default' '
|
||||
: >ten &&
|
||||
git update-index --add ten &&
|
||||
test $(ls .git/sharedindex.* | wc -l) -gt 1 &&
|
||||
test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
|
||||
just_under_2_weeks_ago=$((5-14*86400)) &&
|
||||
test-chmtime =$just_under_2_weeks_ago .git/sharedindex.* &&
|
||||
: >eleven &&
|
||||
git update-index --add eleven &&
|
||||
test $(ls .git/sharedindex.* | wc -l) -gt 1 &&
|
||||
test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
|
||||
just_over_2_weeks_ago=$((-1-14*86400)) &&
|
||||
test-chmtime =$just_over_2_weeks_ago .git/sharedindex.* &&
|
||||
: >twelve &&
|
||||
git update-index --add twelve &&
|
||||
test $(ls .git/sharedindex.* | wc -l) = 1
|
||||
test $(ls .git/sharedindex.* | wc -l) -le 2
|
||||
'
|
||||
|
||||
test_expect_success 'check splitIndex.sharedIndexExpire set to 16 days' '
|
||||
@ -331,12 +331,12 @@ test_expect_success 'check splitIndex.sharedIndexExpire set to 16 days' '
|
||||
test-chmtime =$just_over_2_weeks_ago .git/sharedindex.* &&
|
||||
: >thirteen &&
|
||||
git update-index --add thirteen &&
|
||||
test $(ls .git/sharedindex.* | wc -l) -gt 1 &&
|
||||
test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
|
||||
just_over_16_days_ago=$((-1-16*86400)) &&
|
||||
test-chmtime =$just_over_16_days_ago .git/sharedindex.* &&
|
||||
: >fourteen &&
|
||||
git update-index --add fourteen &&
|
||||
test $(ls .git/sharedindex.* | wc -l) = 1
|
||||
test $(ls .git/sharedindex.* | wc -l) -le 2
|
||||
'
|
||||
|
||||
test_expect_success 'check splitIndex.sharedIndexExpire set to "never" and "now"' '
|
||||
@ -345,13 +345,13 @@ test_expect_success 'check splitIndex.sharedIndexExpire set to "never" and "now"
|
||||
test-chmtime =$just_10_years_ago .git/sharedindex.* &&
|
||||
: >fifteen &&
|
||||
git update-index --add fifteen &&
|
||||
test $(ls .git/sharedindex.* | wc -l) -gt 1 &&
|
||||
test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
|
||||
git config splitIndex.sharedIndexExpire now &&
|
||||
just_1_second_ago=-1 &&
|
||||
test-chmtime =$just_1_second_ago .git/sharedindex.* &&
|
||||
: >sixteen &&
|
||||
git update-index --add sixteen &&
|
||||
test $(ls .git/sharedindex.* | wc -l) = 1
|
||||
test $(ls .git/sharedindex.* | wc -l) -le 2
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user