}
open my $fh, '>', '.commitmsg'
or die ">.commitmsg: $!";
- print $fh "REJECT\n$cmsg" . "::stable-branch::reject=$r\n"
+ print $fh "REJECT! $cmsg" . "::stable-branch::reject=$r\n"
or die ">.commitmsg: $!";
close $fh
or die ">.commitmsg: $!";
}
open my $fh, '>', '.commitmsg'
or die ">.commitmsg: $!";
- print $fh "UNREJECT\n$cmsg" . "::stable-branch::unreject=$r\n"
+ print $fh "UNREJECT! $cmsg" . "::stable-branch::unreject=$r\n"
or die ">.commitmsg: $!";
close $fh
or die ">.commitmsg: $!";
}
open my $fh, '>', '.commitmsg'
or die ">.commitmsg: $!";
- print $fh "UNMERGE\n$cmsg" . "::stable-branch::unmerge=$r\n"
+ print $fh "UNMERGE! $cmsg" . "::stable-branch::unmerge=$r\n"
or die ">.commitmsg: $!";
close $fh
or die ">.commitmsg: $!";
my $data = $logmsg{$_};
if($data =~ /::stable-branch::unmerge=(\S+)/)
{
+ next if not defined $history{$1};
push @logdata, ['unmerge', $1];
}
elsif($data =~ /::stable-branch::merge=(\S+)/)
{
+ next if not defined $history{$1};
push @logdata, ['merge', $1];
}
elsif($data =~ /::stable-branch::reject=(\S+)/)
{
+ next if not defined $history{$1};
push @logdata, ['reject', $1];
}
elsif($data =~ /::stable-branch::unreject=(\S+)/)
{
+ next if not defined $history{$1};
push @logdata, ['unreject', $1];
}
elsif($data =~ /::stable-branch::reset=(\S+)/)
{
+ next if not defined $history{$1};
@logdata = ();
$base = $1;
}
elsif($data =~ /::stable-branch::rebase=(\S+)/)
{
+ next if not defined $history{$1};
$lastrebase->[0] = 'ignore'
if defined $lastrebase;
push @logdata, ($lastrebase = ['rebase', $1]);
my $commit_id = $1;
my $l = rebase_log $r, parse_log();
local $pebkac = 0;
- local $do_commit = 0;
eval
{
- reset_to_commit $r;
- run_script @{$l->{log}};
- run 'git', 'commit', '--allow-empty', '-m', "::stable-branch::rebase=$r"
- or die "git-commit: $!";
+ if($cmd eq 'rebase')
+ {
+ local $do_commit = 0;
+ reset_to_commit $r;
+ run_script @{$l->{log}};
+ run 'git', 'commit', '--allow-empty', '-m', "::stable-branch::rebase=$r"
+ or die "git-commit: $!";
+ }
+ elsif($cmd eq 'resetrebase')
+ {
+ run_script ['reset', $r], @{$l->{log}};
+ }
+ elsif($cmd eq 'hardresetrebase')
+ {
+ run_script ['hardreset', $r], @{$l->{log}};
+ }
1;
}
or do
$0 {--reset|-R} revision-hash
$0 {--hardreset|-H} revision-hash
$0 {--rebase|-b} revision-hash
+ $0 {--resetrebase|-B} revision-hash
+ $0 {--hardresetrebase} revision-hash
EOF
exit 1;
}
"log|l:s", handler \&opt_list,
"outstanding|o:s", handler \&opt_list,
"rebase|b=s", handler \&opt_rebase,
+ "resetrebase|B=s", handler \&opt_rebase,
+ "hardresetrebase=s", handler \&opt_rebase,
"skip", handler \$skip,
"merge|m=s{,}", handler sub { run_script ['merge', $_[1]]; },
"unmerge|u=s{,}", handler sub { run_script ['unmerge', $_[1]]; },