7 local gdr=${DGIT_GITDEBREBASE_TEST-git-debrebase}
9 {{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{'
10 $gdr $GDR_TEST_OPTS $GDR_TEST_DEBUG $t_gdr_xopts "$@"
11 : '}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
17 local beforetag=$2 # say HEAD to skip this check
18 # state should be one of
23 git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches'
25 local etype netype bwtip
30 bwtip=Y:`t-git-debrebase breakwater`
32 stitched) etype=Pseudomerge ;;
33 pushed) etype=AddPatches; netype=Pseudomerge ;;
36 t-git-debrebase analyse >../anal.check
37 expect=`git rev-parse HEAD`
39 local cid ctype info nparents
40 while read cid ctype info; do
41 : ===== $cid $ctype $info =====
44 if [ "x$ctype" = "x$etype" ]; then cetype=SAME; fi
45 local parents="`git log -n1 --pretty=format:%P $cid`"
48 : "$ctype/$cetype" "$parents"
50 case "$ctype/$cetype" in
53 Packaging/Upstream) ;;
55 Changelog/Packaging) ;;
56 Changelog/Upstream) ;;
58 BreakwaterUpstreamMerge/Upstream) ;;
59 BreakwaterUpstreamMerge/Packaging) ;;
61 fail "etype=$etype ctype=$ctype cetype=$cetype $cid"
65 case "$ctype/$etype" in
68 if [ "x$bwtip" != x ]; then
69 test "$bwtip" = "Y:$cid"
76 expect=${info#Contributor=}
79 git diff --quiet $expect..$cid
83 git diff --quiet $expect..$cid -- ':.' ':!debian'
84 git diff --quiet $expect..$cid -- ':debian/patches'
88 git diff --quiet $expect..$cid -- \
89 ':.' ':!debian/patches'
94 git diff --quiet $expect..$cid -- \
95 ':.' ':!debian/changelog'
99 git diff --quiet $expect..$cid -- ':debian'
101 BreakwaterUpstreamMerge)
106 local cnparents=`printf "%s" "$parents" | wc -w`
107 test $cnparents = $enparents
111 *) fail 'unexpected parent' ;;
122 echo >>debian/zorkmid "// debian $token"
123 git add debian/zorkmid
124 git commit -m "DEBIAN add zorkmid ($token)"
126 echo >>src.c "// upstream $token"
127 git commit -a -m "UPSTREAM edit src.c ($token)"
129 for f in debian/zorkmid src.c; do
130 echo "// both! $token" >>$f
133 git commit -m "MIXED add both ($token)"
138 t-make-new-upstream-tarball () {
140 git checkout make-upstream
141 # leaves ust set to filename of orig tarball
142 echo "upstream $uv" >>docs/README
143 git commit -a -m "upstream $uv tarball"
144 ust=example_$uv.orig.tar.gz
145 git archive -o ../$ust --prefix=example-2.0/ make-upstream