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