chiark / gitweb /
ada5516882f37df74bf4bf532f3f6c28133a8bee
[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 new-upstream () {
16         uv=$1
17         t-git-next-date
18         git checkout make-upstream
19         git reset --hard upstream
20         t-make-new-upstream-tarball $uv
21         git push . make-upstream:upstream
22         git checkout master
23         t-git-next-date
24 }
25
26 new-upstream 2.1
27
28 : 'maintainer hat'
29
30 git branch startpoint
31 v=2.1-1
32
33 git checkout master
34
35 t-expect-fail F:'Could not determine appropriate upstream commitish' \
36 t-git-debrebase new-upstream $v
37
38 git tag v2.1 upstream
39
40 t-git-debrebase new-upstream ${v%-*}
41
42 t-gdr-good laundered
43 git reflog | egrep 'debrebase new-upstream.*checkout'
44
45 t-git-debrebase stitch
46 t-gdr-good stitched
47
48 git branch ordinary
49
50 : 'with --anchor'
51
52 git reset --hard startpoint
53
54 t-git-debrebase analyse >../anal.anch
55 anchor=$(perl <../anal.anch -ne '
56         next unless m/^(\w+) Anchor\s/;
57         print $1,"\n";
58         exit;
59 ')
60
61 GIT_REFLOG_ACTION='STUNT-RLA' \
62 t-git-debrebase --anchor=$anchor -fanchor-treated new-upstream $v upstream
63 t-gdr-good laundered
64 git reflog | egrep 'STUNT-RLA: debrebase new-upstream'
65 git reflog | egrep 'STUNT-RLA: debrebase: launder for new upstream'
66
67 t-git-debrebase stitch
68 t-gdr-good stitched
69
70 git diff --quiet ordinary
71
72 t-ok