git branch before-new-upstream
+clog-check-1 () {
+ before=$1
+ date=$(git log --format=%aD -n1 debian/changelog)
+ date=$(date -R -d "$date")
+ git show $before:debian/changelog >../clog.before
+ m=" * Update to new upstream version ${v%-*}."
+ e="dgit test git user <dgit-test@debian.example.net> $date"
+}
+clog-check-2 () {
+ diff -u ../clog.expected debian/changelog
+}
+
: ----- ordinary new upstream test -----
t-git-debrebase new-upstream ${v%-*}
-date=$(git log --format=%aD -n1 debian/changelog)
-cat >../clog.expected <<END
+clog-check-1 before-new-upstream
+cat - <<END ../clog.before >../clog.expected
example ($v) UNRELEASED; urgency=medium
- * Update to new upstream version ${v%-*}.
+$m
- -- dgit test git user <dgit-test@debian.example.net> $date
+ -- $e
END
-git show before-new-upstream:debian/changelog >>../clog.expected
-diff -u ../clog.expected debian/changelog
+clog-check-2
t-gdr-good laundered
git reflog | egrep 'debrebase new-upstream.*checkout'
: ----- 'with --anchor' -----
-git reset --hard startpoint
+git checkout -b with-anchor startpoint
t-git-debrebase analyse >../anal.anch
anchor=$(perl <../anal.anch -ne '
git diff --quiet ordinary
+: ----- with pre-existing changes -----
+
+git checkout -b with-preexisting before-new-upstream
+
+t-dch-commit drivel-in-changelog
+git branch before-new-upstream-with-changes
+
+t-git-next-date
+
+t-git-debrebase new-upstream ${v%-*}
+
+clog-check-1 before-new-upstream-with-changes
+perl -pe <../clog.before >../clog.expected '
+ BEGIN { ($m,$e,@ARGV) = @ARGV; }
+ next unless 1..m/^ --/;
+ s/\([^()]+\)/('$v')/ if m/^example /;
+ $_ .= "$m\n" if m/^ \* drivel-in-changelog/;
+ $_ = " -- $e\n" if m/^ -- /;
+' "$m" "$e"
+clog-check-2
+
t-ok