File tree Expand file tree Collapse file tree 2 files changed +28
-0
lines changed Expand file tree Collapse file tree 2 files changed +28
-0
lines changed Original file line number Diff line number Diff line change @@ -1900,6 +1900,7 @@ int cmd_index_pack(int argc,
19001900 unsigned foreign_nr = 1 ; /* zero is a "good" value, assume bad */
19011901 int report_end_of_input = 0 ;
19021902 int hash_algo = 0 ;
1903+ int dash_o = 0 ;
19031904
19041905 /*
19051906 * index-pack never needs to fetch missing objects except when
@@ -1984,6 +1985,7 @@ int cmd_index_pack(int argc,
19841985 if (index_name || (i + 1 ) >= argc )
19851986 usage (index_pack_usage );
19861987 index_name = argv [++ i ];
1988+ dash_o = 1 ;
19871989 } else if (starts_with (arg , "--index-version=" )) {
19881990 char * c ;
19891991 opts .version = strtoul (arg + 16 , & c , 10 );
@@ -2037,6 +2039,8 @@ int cmd_index_pack(int argc,
20372039 repo_set_hash_algo (the_repository , GIT_HASH_SHA1 );
20382040
20392041 opts .flags &= ~(WRITE_REV | WRITE_REV_VERIFY );
2042+ if (rev_index && dash_o && !ends_with (index_name , ".idx" ))
2043+ rev_index = 0 ;
20402044 if (rev_index ) {
20412045 opts .flags |= verify ? WRITE_REV_VERIFY : WRITE_REV ;
20422046 if (index_name )
Original file line number Diff line number Diff line change @@ -357,6 +357,30 @@ test_expect_success 'build pack index for an existing pack' '
357357 :
358358'
359359
360+ # The `--rev-index` option of `git index-pack` is now the default, so
361+ # a `foo.rev` REV file will be created when a `foo.idx` IDX file is
362+ # created. Normally, these pathnames are based upon the `foo.pack`
363+ # PACK file pathname.
364+ #
365+ # However, the `-o` option lets you set the pathname of the IDX file
366+ # indepdent of the PACK file.
367+ #
368+ # Verify what happens if these suffixes are changed.
369+ #
370+ test_expect_success ' complain about index name' '
371+ # Normal case { .pack, .idx, .rev }
372+ cat test-1-${packname_1}.pack >test-complain-0.pack &&
373+ git index-pack -o test-complain-0.idx --rev-index test-complain-0.pack &&
374+ test -f test-complain-0.idx &&
375+ test -f test-complain-0.rev &&
376+
377+ # Non .idx suffix -- implicitly omits the .rev
378+ cat test-1-${packname_1}.pack >test-complain-1.pack &&
379+ git index-pack -o test-complain-1.idx-suffix --rev-index test-complain-1.pack &&
380+ test -f test-complain-1.idx-suffix &&
381+ ! test -f test-complain-1.rev
382+ '
383+
360384test_expect_success ' unpacking with --strict' '
361385
362386 for j in a b c d e f g
You can’t perform that action at this time.
0 commit comments