blob: f3b3469041fdbbc38f073b04f6d476efbfc20c1b (
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
|
#!/bin/bash
set -e
. tests/lib
. $troot/lib-reprepro
t-dependencies reprepro
t-setup-import examplegit
t-tstunt-parsechangelog
# rewrite some things, so we test the rewriting code
mkdir map
cd map
git init
cd ..
record-map () {
old=$(t-git-get-ref-exact "refs/original/$r")
new=$(t-git-get-ref-exact "$r")
if [ "$old" = "$new" ]; then return; fi
echo >>$tmp/map/map "$old $new"
}
filter () {
git filter-branch \
--msg-filter 'sed s/Sid/Spong/' \
--tag-name-filter cat \
^archive/test-dummy/2.0 \
"$@"
for r in "$@"; do
record-map "$r"
done
}
cd $p
filter \
refs/heads/master \
refs/remotes/dgit/dgit/sid
t-ref-head
cd ../git/$p.git
filter \
refs/dgit/sid
cd $tmp/map
git add map
git commit -m 'by test suite'
git push $tmp/git/$p.git master:refs/dgit-rewrite/map
cd ..
suitespecs=avon
t-reprepro-cfg ds- downstream
t-reprepro-setup ds-
distro=''
dscf=$tmp/mirror/pool/main/example_1.1.dsc
t-reprepro-includedsc avon $dscf ds-
t-reprepro-regen ds-
mkdir $p.import
cd $p.import
git init
t-dgit import-dsc $dscf x
cd ..
t-git-config dgit-suite.avon.distro downstream
t-git-config dgit-distro.downstream.git-check false
t-dgit clone example avon example.avon
dscf=$tmp/mirror/pool/main/example_2.1.dsc
t-reprepro-includedsc avon $dscf ds-
t-reprepro-regen ds-
cd $p.avon
t-dgit fetch
t-ref-same refs/remotes/dgit/dgit/avon
cd ../$p.import
git init
t-dgit import-dsc $dscf +x
t-ref-same refs/heads/x
git show x | grep Spong
t-expect-fail 'Your git tree does not have that object' \
t-dgit --no-chase-dsc-distro import-dsc $dscf +y
cd ../$p
t-dgit --no-chase-dsc-distro import-dsc $dscf +y
git show y | grep Sid
t-ok
|