chiark
/
gitweb
/
~ianmdlvl
/
dgit.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
git-debrebase: merge: Split off merge_series_patchqueue_convert
[dgit.git]
/
git-debrebase
diff --git
a/git-debrebase
b/git-debrebase
index 0e365cd600c9b0224330d9a586b0605c8a39ae94..0dea5d5e1f5f1945d969787818d25d7f302057ed 100755
(executable)
--- a/
git-debrebase
+++ b/
git-debrebase
@@
-428,6
+428,8
@@
sub merge_attempt_cmd {
}
}
}
}
+sub merge_series_patchqueue_convert ($$$);
+
sub merge_series ($$$;@) {
my ($newbase, $wrecknotes, $base_q, @input_qs) = @_;
# $base_q{SeriesBase} $input_qs[]{SeriesBase}
sub merge_series ($$$;@) {
my ($newbase, $wrecknotes, $base_q, @input_qs) = @_;
# $base_q{SeriesBase} $input_qs[]{SeriesBase}
@@
-452,7
+454,7
@@
sub merge_series ($$$;@) {
# $prereq{<patch filename>}{<possible prereq} exists or not (later)
# $prereq{<patch filename>} exists or not (even later)
# $prereq{<patch filename>}{<possible prereq} exists or not (later)
# $prereq{<patch filename>} exists or not (even later)
- my $
result
;
+ my $
merged_pq
;
my $mwrecknote = sub { &mwrecknote($wrecknotes, @_); };
my $mwrecknote = sub { &mwrecknote($wrecknotes, @_); };
@@
-592,9
+594,21
@@
sub merge_series ($$$;@) {
runcmd @git, qw(add), $seriesfile;
runcmd @git, qw(commit --quiet -m), 'Merged patch queue form';
runcmd @git, qw(add), $seriesfile;
runcmd @git, qw(commit --quiet -m), 'Merged patch queue form';
- $mwrecknote->('merged-patchqueue', git_rev_parse 'HEAD');
+ $merged_pq = git_rev_parse 'HEAD';
+ $mwrecknote->('merged-patchqueue', $merged_pq);
+ };
+ return merge_series_patchqueue_convert
+ $wrecknotes, $newbase, $merged_pq;
+}
+sub merge_series_patchqueue_convert ($$$) {
+ my ($wrecknotes, $newbase, $merged_pq) = @_;
+
+ my $result;
+ in_workarea sub {
+ playtree_setup();
printdebug "merge_series series gbp pq import\n";
printdebug "merge_series series gbp pq import\n";
+ runcmd @git, qw(checkout -q -b mergec), $merged_pq;
merge_attempt_cmd($wrecknotes, qw(gbp pq import));
merge_attempt_cmd($wrecknotes, qw(gbp pq import));
@@
-603,7
+617,7
@@
sub merge_series ($$$;@) {
printdebug "merge_series series ok, building...\n";
my $build = $newbase;
printdebug "merge_series series ok, building...\n";
my $build = $newbase;
- my @lcmd = (@git, qw(rev-list --reverse merge
..patch-queue/merge
));
+ my @lcmd = (@git, qw(rev-list --reverse merge
c..patch-queue/mergec
));
foreach my $c (grep /./, split /\n/, cmdoutput @lcmd) {
my $commit = git_cat_file $c, 'commit';
printdebug "merge_series series ok, building $c\n";
foreach my $c (grep /./, split /\n/, cmdoutput @lcmd) {
my $commit = git_cat_file $c, 'commit';
printdebug "merge_series series ok, building $c\n";
@@
-1467,6
+1481,7
@@
sub walk ($;$$$) {
@parents = map { $_->{Breakwater} } @{ $cl->{Parents} };
} elsif ($method eq 'MergeMergeSeries') {
print "Running merge resolution for $cl->{CommitId}...\n";
@parents = map { $_->{Breakwater} } @{ $cl->{Parents} };
} elsif ($method eq 'MergeMergeSeries') {
print "Running merge resolution for $cl->{CommitId}...\n";
+ $mwrecknote->('new-base', $build);
$build = merge_series
$build, $cl->{MergeWreckNotes},
$cl->{MergeInterchangeBaseInfo},
$build = merge_series
$build, $cl->{MergeWreckNotes},
$cl->{MergeInterchangeBaseInfo},