From 4f5ea68c4b64ec065e40240e9f0df6ed4279593d Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 31 Jan 2018 16:41:20 +0000 Subject: git-debrebase: provide default rebase action Signed-off-by: Ian Jackson --- git-debrebase | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) (limited to 'git-debrebase') diff --git a/git-debrebase b/git-debrebase index 2fa4947..0e2e0b7 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->(); +} -- cgit v1.2.3