summaryrefslogtreecommitdiff
path: root/dgit-badcommit-fixup
diff options
context:
space:
mode:
authorIan Jackson <ijackson@chiark.greenend.org.uk>2017-07-09 16:29:38 +0100
committerIan Jackson <ijackson@chiark.greenend.org.uk>2017-07-09 16:29:38 +0100
commit18413810f983efbd083a2fd0cbc2c2cbbadc558b (patch)
treeadae9d497537ae2f4faed6de694f0ada08e8ff57 /dgit-badcommit-fixup
parentbada5f43152b731b980626f5f995da1899bc568d (diff)
parent166121d66d38a3f6584222a03558493c1a23de72 (diff)
Merge branch 'stable'
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'dgit-badcommit-fixup')
-rwxr-xr-xdgit-badcommit-fixup14
1 files changed, 14 insertions, 0 deletions
diff --git a/dgit-badcommit-fixup b/dgit-badcommit-fixup
index 8b202c0..3995ceb 100755
--- a/dgit-badcommit-fixup
+++ b/dgit-badcommit-fixup
@@ -59,6 +59,17 @@ my $bare = `git rev-parse --is-bare-repository`;
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 $!;
@@ -163,6 +174,9 @@ sub edit_rewrite_map ($) {
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;