# 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;
$org_rewrite_map = $obj;
continue;
}
+ next if $refname =~ m{^refs/dgit-(?:badcommit|badfixuptest)/};
my $rewrite;
if ($type eq 'commit') {
$rewrite = rewrite_commit($obj);
open U, "|git update-ref -m 'dgit bad commit fixup' --stdin" or die $!;
-if ($real && $bare eq 'false') {
- print "detaching your HEAD\n" or die $!;
- runcmd 'git checkout --detach';
-}
-
for my $up (@updates) {
my ($ref, $old, $new, $nobackup) = @$up;
my $otherref = $ref;