summaryrefslogtreecommitdiff
path: root/tests/setup/gdr-convert-gbp
blob: a3baf2d722e1eb61a0e144c16c856b52ee63719f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#!/bin/bash
set -e
autoimport=
. tests/lib
. $troot/lib-gdr

$ifarchive t-setup-import gnupg

t-dependencies GDR

t-tstunt-parsechangelog

not-gdr-processable () {
	git branch gdr-unprocessable/$1
	t-git-debrebase analyse | grep 'Unknown Unprocessable'
}

p=example
t-worktree 1.1

cd example

: 'fake up some kind of upstream'
git checkout -b upstream quilt-tip
rm -rf debian
mkdir debian
echo junk >debian/rules
git add debian
git commit -m "an upstream retcon ($0)"

: 'fake up that our quilt-tip was descended from upstream'
git checkout quilt-tip
git merge --no-edit -s ours upstream

: 'fake up that our quilt-tip had the patch queue in it'
git checkout patch-queue/quilt-tip
gbp pq export
git add debian/patches
git commit -m "patch queue update ($0)"

not-gdr-processable origin

: 'fake up an upstream 2.0'
git branch make-upstream upstream
t-make-new-upstream-tarball 2.0

: 'make branch names more conventional'
git branch -D master
git branch -m quilt-tip master

for b in \
		quilt-tip-2		\
		gitish-only		\
		quilt-tip-1.1		\
		patch-queue/quilt-tip	\
		indep-arch		\
; do
	git branch -D $b
done

: 'see what gbp import-orig does'
git checkout master
gbp import-orig --upstream-version=2.0 ../$ust

not-gdr-processable merge

t-dch-commit -v 2.0-1 -m 'new upstream (did gbp import-orig)'
t-dch-commit-r

$ifarchive t-archive-none $p
$ifarchive t-git-none
$ifarchive t-dgit -wgf --gbp push-source --new

t-salsa-add-remote
git push --set-upstream origin master

# OK now this looks like something more normal.
# We have:
#  maintainer (gbp) view                dgit view
#    master
#    debian/2.0-1                          archive/debian/2.0-1
#    remotes/origin/master                 remotes/dgit/dgit/sid

t-expect-fail E:'identical in upstream files' \
t-git-debrebase -fupstream-has-debian convert-from-gbp upstream/2.0~

t-git-debrebase -fupstream-has-debian convert-from-gbp

v=2.0-2
t-dch-commit -v $v -m 'switch to git-debrebase, no other changes'
t-dch-commit-r

$ifarchive t-dgit -wgf push-source --new
git push

cd ..

$ifarchive t-archive-process-incoming sid

t-setup-done '' "$(echo $p*) salsa $($ifarchive echo git mirror aq)" '
	. $troot/lib-gdr
	t-tstunt-parsechangelog
	p=example
	t-git-next-date
'