# dgit-badcommit-fixup --test
# dgit-badcommit-fixup --real
+# Update procedure, from server operator's point of view:
+#
+# 1. Test in an offline tree that this DTRT
+#
+# 2. Announce a transition time. Tell everyone that between
+# the transition time and their next upload, they must
+# run this script.
+#
+# 3. At the transition time, run this script in every repo.
+#
+# 4. Run the mirror script to push changes, if necessary.
+
+
use strict;
use POSIX;
use IPC::Open2;
use Data::Dumper;
+our $our_version = 'UNRELEASED'; ###substituted###
+
my $real;
foreach my $a (@ARGV) {
runcmd qw(git add map);
}
- runcmd qw(git commit -q),
- qw(-m), 'dgit-badcommit-fixup',
- qw(map);
+ runcmd qw(git commit -q), qw(-m), <<END, qw(map);
+dgit-badcommit-fixup
+
+[dgit-badcommit-fixup $our_version]
+END
$!=0; $?=0;
my $new = `git rev-parse HEAD`;
$org_rewrite_map = $obj;
continue;
}
+ next if $refname =~ m{^refs/dgit-(?:badcommit|badfixuptest)/};
my $rewrite;
if ($type eq 'commit') {
$rewrite = rewrite_commit($obj);