chiark / gitweb /
test suite: gdr-new-upstream: Check changelog is exactly right
[dgit.git] / tests / tests / gdr-newupstream
1 #!/bin/bash
2 set -e
3 autoimport=
4 . tests/lib
5
6 t-dependencies NO-DGIT GDR
7
8 t-tstunt-parsechangelog
9 t-setup-import gdr-convert-gbp-noarchive
10
11 cd $p
12
13 : 'upstream hat'
14
15 t-gdr-prep-new-upstream 2.1
16
17 : 'maintainer hat'
18
19 git branch startpoint
20 v=2.1-1
21
22 git checkout master
23
24 t-expect-fail F:'Could not determine appropriate upstream commitish' \
25 t-git-debrebase new-upstream $v
26
27 git tag v2.1 upstream
28
29 git branch before-new-upstream
30
31 t-git-debrebase new-upstream ${v%-*}
32
33 date=$(git log --format=%aD -n1 debian/changelog)
34 cat >../clog.expected <<END
35 example ($v) UNRELEASED; urgency=medium
36
37   * Update to new upstream version ${v%-*}.
38
39  -- dgit test git user <dgit-test@debian.example.net>  $date
40
41 END
42 git show before-new-upstream:debian/changelog >>../clog.expected
43 diff -u ../clog.expected debian/changelog
44
45 t-gdr-good laundered
46 git reflog | egrep 'debrebase new-upstream.*checkout'
47
48 t-git-debrebase stitch
49 t-gdr-good stitched
50
51 git branch ordinary
52
53 : 'with --anchor'
54
55 git reset --hard startpoint
56
57 t-git-debrebase analyse >../anal.anch
58 anchor=$(perl <../anal.anch -ne '
59         next unless m/^(\w+) Anchor\s/;
60         print $1,"\n";
61         exit;
62 ')
63
64 GIT_REFLOG_ACTION='STUNT-RLA' \
65 t-git-debrebase --anchor=$anchor -fanchor-treated new-upstream $v upstream
66 t-gdr-good laundered
67 git reflog | egrep 'STUNT-RLA: debrebase new-upstream'
68 git reflog | egrep 'STUNT-RLA: debrebase: launder for new upstream'
69
70 t-git-debrebase stitch
71 t-gdr-good stitched
72
73 git diff --quiet ordinary
74
75 t-ok