Skip to content

Commit c3a0082

Browse files
chriscoolgitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent de6ae5f commit c3a0082

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

read-cache.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1727,6 +1727,7 @@ int read_index_from(struct index_state *istate, const char *path)
17271727
base_sha1_hex, base_path,
17281728
sha1_to_hex(split_index->base->sha1));
17291729

1730+
freshen_shared_index(base_sha1_hex, 0);
17301731
merge_base_index(istate);
17311732
post_read_index_from(istate);
17321733
return ret;

t/t1700-split-index.sh

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -313,30 +313,30 @@ test_expect_success 'check splitIndex.maxPercentChange set to 0' '
313313
test_expect_success 'shared index files expire after 2 weeks by default' '
314314
: >ten &&
315315
git update-index --add ten &&
316-
test $(ls .git/sharedindex.* | wc -l) -gt 1 &&
316+
test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
317317
just_under_2_weeks_ago=$((5-14*86400)) &&
318318
test-chmtime =$just_under_2_weeks_ago .git/sharedindex.* &&
319319
: >eleven &&
320320
git update-index --add eleven &&
321-
test $(ls .git/sharedindex.* | wc -l) -gt 1 &&
321+
test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
322322
just_over_2_weeks_ago=$((-1-14*86400)) &&
323323
test-chmtime =$just_over_2_weeks_ago .git/sharedindex.* &&
324324
: >twelve &&
325325
git update-index --add twelve &&
326-
test $(ls .git/sharedindex.* | wc -l) = 1
326+
test $(ls .git/sharedindex.* | wc -l) -le 2
327327
'
328328

329329
test_expect_success 'check splitIndex.sharedIndexExpire set to 16 days' '
330330
git config splitIndex.sharedIndexExpire "16.days.ago" &&
331331
test-chmtime =$just_over_2_weeks_ago .git/sharedindex.* &&
332332
: >thirteen &&
333333
git update-index --add thirteen &&
334-
test $(ls .git/sharedindex.* | wc -l) -gt 1 &&
334+
test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
335335
just_over_16_days_ago=$((-1-16*86400)) &&
336336
test-chmtime =$just_over_16_days_ago .git/sharedindex.* &&
337337
: >fourteen &&
338338
git update-index --add fourteen &&
339-
test $(ls .git/sharedindex.* | wc -l) = 1
339+
test $(ls .git/sharedindex.* | wc -l) -le 2
340340
'
341341

342342
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"
345345
test-chmtime =$just_10_years_ago .git/sharedindex.* &&
346346
: >fifteen &&
347347
git update-index --add fifteen &&
348-
test $(ls .git/sharedindex.* | wc -l) -gt 1 &&
348+
test $(ls .git/sharedindex.* | wc -l) -gt 2 &&
349349
git config splitIndex.sharedIndexExpire now &&
350350
just_1_second_ago=-1 &&
351351
test-chmtime =$just_1_second_ago .git/sharedindex.* &&
352352
: >sixteen &&
353353
git update-index --add sixteen &&
354-
test $(ls .git/sharedindex.* | wc -l) = 1
354+
test $(ls .git/sharedindex.* | wc -l) -le 2
355355
'
356356

357357
test_done

0 commit comments

Comments
 (0)