return @r
}
-sub get_head () { return git_rev_parse qw(HEAD); }
+sub get_head () {
+ git_check_unmodified();
+ return git_rev_parse qw(HEAD);
+}
sub update_head ($$$) {
my ($old, $new, $mrest) = @_;
my $old = get_head();
my ($tip,$breakwater) = walk $old;
update_head_postlaunder $old, $tip, 'launder for rebase';
- @ARGV = qw(-i) unless @ARGV; # make configurable
runcmd @git, qw(rebase), @ARGV, $breakwater;
}
if (defined $old) {
$old = git_rev_parse $old;
} else {
- $old = get_head();
+ $old = git_rev_parse 'HEAD';
}
my ($dummy,$breakwater) = walk $old, 1,*STDOUT;
STDOUT->error and die $!;
}
if ($branch =~ m{^dgit/}) {
$check->("remotes/dgit/$branch", 'remote dgit branch');
+ } elsif ($branch =~ m{^master$}) {
+ $check->("remotes/dgit/dgit/sid", 'remote dgit branch for sid');
}
fproblems_maybe_bail();
}
sub cmd_new_upstream_v0 () {
- # tree should be clean and this is not checked
# automatically and unconditionally launders before rebasing
# if rebase --abort is used, laundering has still been done
# rebase the patch queue onto the new breakwater
runcmd @git, qw(reset --quiet --hard patch-queue/gdr-internal);
runcmd @git, qw(rebase --quiet --onto), $work, qw(gdr-internal);
- $work = get_head();
+ $work = git_rev_parse 'HEAD';
};
update_head_checkout $old_head, $work, 'gbp2debrebase';