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: new-upstream-v0: use update_head_postlaunder
[dgit.git]
/
git-debrebase
diff --git
a/git-debrebase
b/git-debrebase
index 931a0124bf367e678f39da4ef26cc2571e10efdc..86958820221ec4b1212f708a7e1749572f7a8e29 100755
(executable)
--- a/
git-debrebase
+++ b/
git-debrebase
@@
-785,13
+785,18
@@
sub update_head_checkout ($$$) {
update_head $old, $new, $mrest;
}
update_head $old, $new, $mrest;
}
+sub update_head_postlaunder ($$$) {
+ my ($old, $tip, $reflogmsg) = @_;
+ update_head $old, $tip, $reflogmsg;
+ # no tree changes except debian/patches
+ runcmd @git, qw(rm --quiet --ignore-unmatch -rf debian/patches);
+}
+
sub cmd_launder () {
badusage "no arguments to launder allowed" if @ARGV;
my $old = get_head();
my ($tip,$breakwater,$last_upstream_merge) = walk $old;
sub cmd_launder () {
badusage "no arguments to launder allowed" if @ARGV;
my $old = get_head();
my ($tip,$breakwater,$last_upstream_merge) = walk $old;
- update_head $old, $tip, 'launder';
- # no tree changes except debian/patches
- runcmd @git, qw(rm --quiet --ignore-unmatch -rf debian/patches);
+ update_head_postlaunder $old, $tip, 'launder';
printf "# breakwater tip\n%s\n", $breakwater;
printf "# working tip\n%s\n", $tip;
printf "# last upstream merge\n%s\n", $last_upstream_merge;
printf "# breakwater tip\n%s\n", $breakwater;
printf "# working tip\n%s\n", $tip;
printf "# last upstream merge\n%s\n", $last_upstream_merge;
@@
-962,8
+967,9
@@
sub cmd_new_upstream_v0 () {
# Now we have to add a changelog stanza so the Debian version
# is right.
die if unlink "debian";
# Now we have to add a changelog stanza so the Debian version
# is right.
die if unlink "debian";
- die $! unless $!==ENOTEMPTY;
- unlink "debian/changelog" or die $!;
+ die $! unless $!==ENOENT or $!==ENOTEMPTY;
+ unlink "debian/changelog" or $!==ENOENT or die $!;
+ mkdir "debian" or die $!;
open CN, ">", "debian/changelog" or die $!;
my $oldclog = git_cat_file ":debian/changelog";
$oldclog =~ m/^($package_re) \(\S+\) / or
open CN, ">", "debian/changelog" or die $!;
my $oldclog = git_cat_file ":debian/changelog";
$oldclog =~ m/^($package_re) \(\S+\) / or
@@
-991,7
+997,8
@@
END
# the laundering output, because git-rebase can't easily be made
# to make a replay list which is based on some other branch
# the laundering output, because git-rebase can't easily be made
# to make a replay list which is based on some other branch
- update_head $old_head, $old_laundered_tip, 'launder for new upstream';
+ update_head_postlaunder $old_head, $old_laundered_tip,
+ 'launder for new upstream';
my @cmd = (@git, qw(rebase --onto), $new_bw, $old_bw);
runcmd @cmd;
my @cmd = (@git, qw(rebase --onto), $new_bw, $old_bw);
runcmd @cmd;