#
# 4. Run the mirror script to push changes, if necessary.
+END { $? = $Debian::Dgit::ExitStatus::desired // -1; };
+use Debian::Dgit::ExitStatus;
use strict;
die "$? $!" if $?;
chomp $bare or die;
+our @configs;
+foreach my $k (qw(core.sharedRepository)) {
+ $?=0; $!=0; my $v = `set -x; git config --local $k`;
+ if (defined $v && $?==0 && chomp $v) {
+ push @configs, [ $k, $v ];
+ } elsif (defined $v && $?==256 && $v eq '') {
+ } else {
+ die "git-config --local $k => $v $? $! ?";
+ }
+}
+
sub getobj ($$) {
my ($obj, $type) = @_;
print GCFI $obj, "\n" or die $!;
runcmd qw(git config gc.auto 0);
runcmd qw(rm -rf .git/objects);
symlink "../../objects", ".git/objects" or die $!;
+ foreach my $c (@configs) {
+ runcmd qw(git config), $c->[0], $c->[1];
+ }
my %map;
if (!@updates) {
print Dumper(\%count), "all is well - nothing to do\n";
- exit 0;
+ finish 0;
}
#print Dumper(\@updates);
print "testing output saved in refs/dgit-badfixuptest/\n" or die $!;
} else {
print STDERR "found work to do, exiting status 2\n";
- exit 2;
+ finish 2;
}
+
+finish 0;