chiark / gitweb /
test suite: gdr-new-upstream: Use new branch rather than reset
[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 : ----- ordinary new upstream test -----
32
33 t-git-debrebase new-upstream ${v%-*}
34
35 date=$(git log --format=%aD -n1 debian/changelog)
36 cat >../clog.expected <<END
37 example ($v) UNRELEASED; urgency=medium
38
39   * Update to new upstream version ${v%-*}.
40
41  -- dgit test git user <dgit-test@debian.example.net>  $date
42
43 END
44 git show before-new-upstream:debian/changelog >>../clog.expected
45 diff -u ../clog.expected debian/changelog
46
47 t-gdr-good laundered
48 git reflog | egrep 'debrebase new-upstream.*checkout'
49
50 t-git-debrebase stitch
51 t-gdr-good stitched
52
53 git branch ordinary
54
55 : ----- 'with --anchor' -----
56
57 git checkout -b with-anchor startpoint
58
59 t-git-debrebase analyse >../anal.anch
60 anchor=$(perl <../anal.anch -ne '
61         next unless m/^(\w+) Anchor\s/;
62         print $1,"\n";
63         exit;
64 ')
65
66 GIT_REFLOG_ACTION='STUNT-RLA' \
67 t-git-debrebase --anchor=$anchor -fanchor-treated new-upstream $v upstream
68 t-gdr-good laundered
69 git reflog | egrep 'STUNT-RLA: debrebase new-upstream'
70 git reflog | egrep 'STUNT-RLA: debrebase: launder for new upstream'
71
72 t-git-debrebase stitch
73 t-gdr-good stitched
74
75 git diff --quiet ordinary
76
77 t-ok