From: Ian Jackson Date: Wed, 31 Jan 2018 16:41:20 +0000 (+0000) Subject: git-debrebase: provide default rebase action X-Git-Tag: archive/debian/5.0~276 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=dgit.git;a=commitdiff_plain;h=4f5ea68c4b64ec065e40240e9f0df6ed4279593d git-debrebase: provide default rebase action Signed-off-by: Ian Jackson --- diff --git a/git-debrebase b/git-debrebase index 2fa4947e..0e2e0b74 100755 --- a/git-debrebase +++ b/git-debrebase @@ -805,6 +805,14 @@ sub cmd_launder () { printf "# last upstream merge\n%s\n", $last_upstream_merge; } +sub defaultcmd_rebase () { + 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; +} + sub cmd_analyse () { die if ($ARGV[0]//'') =~ m/^-/; badusage "too many arguments to analyse" if @ARGV>1; @@ -1069,10 +1077,14 @@ chdir $toplevel or die "chdir $toplevel: $!"; $rd = fresh_playground "$playprefix/misc"; -my $cmd = shift @ARGV; -my $cmdfn = $cmd; -$cmdfn =~ y/-/_/; -$cmdfn = ${*::}{"cmd_$cmdfn"}; +if (!@ARGV || $ARGV[0] =~ m{^-}) { + defaultcmd_rebase(); +} else { + my $cmd = shift @ARGV; + my $cmdfn = $cmd; + $cmdfn =~ y/-/_/; + $cmdfn = ${*::}{"cmd_$cmdfn"}; -$cmdfn or badusage "unknown git-debrebase sub-operation $cmd"; -$cmdfn->(); + $cmdfn or badusage "unknown git-debrebase sub-operation $cmd"; + $cmdfn->(); +}