From defb6d12f5b7b63a8e95a2db2d1dff2bd8f9d83c Mon Sep 17 00:00:00 2001 From: "Eric Wong (Contractor, The Linux Foundation)" Date: Sat, 3 Mar 2018 20:56:15 +0000 Subject: v2: avoid redundant/repeated configs for git partition repos We'll let the config of all.git dictate every other subrepo to ease maintenance and configuration. The "include" directive has been supported since git 1.7.10, so it's safe to depend on as v2 requires git 2.6.0+ anyways for "get-mark" in fast-import. --- t/init.t | 2 ++ t/v2writable.t | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) (limited to 't') diff --git a/t/init.t b/t/init.t index 54b90ec5..6ae608e5 100644 --- a/t/init.t +++ b/t/init.t @@ -38,6 +38,8 @@ SKIP: { ok(-d "$tmpdir/v2list", 'v2list directory exists'); ok(-f "$tmpdir/v2list/msgmap.sqlite3", 'msgmap exists'); ok(-d "$tmpdir/v2list/all.git", 'catch-all.git directory exists'); + @cmd = (qw(git config), "--file=$tmpdir/v2list/all.git/config", + qw(core.sharedRepository 0644)); } done_testing(); diff --git a/t/v2writable.t b/t/v2writable.t index bf8ae5e6..2d35aca3 100644 --- a/t/v2writable.t +++ b/t/v2writable.t @@ -32,6 +32,22 @@ my $mime = PublicInbox::MIME->create( my $im = PublicInbox::V2Writable->new($ibx, 1); ok($im->add($mime), 'ordinary message added'); + +if ('ensure git configs are correct') { + my @cmd = (qw(git config), "--file=$mainrepo/all.git/config", + qw(core.sharedRepository 0644)); + is(system(@cmd), 0, "set sharedRepository in all.git"); + my $git0 = PublicInbox::Git->new("$mainrepo/git/0.git"); + my $fh = $git0->popen(qw(config core.sharedRepository)); + my $v = eval { local $/; <$fh> }; + chomp $v; + is($v, '0644', 'child repo inherited core.sharedRepository'); + $fh = $git0->popen(qw(config --bool repack.writeBitmaps)); + $v = eval { local $/; <$fh> }; + chomp $v; + is($v, 'true', 'child repo inherited repack.writeBitmaps'); +} + { my @warn; local $SIG{__WARN__} = sub { push @warn, @_ }; -- cgit v1.2.3-24-ge0c7