'
}
-t-gdr-branch-structure () {
+t-gdr-good () {
local state=$1
+ local beforetag=$2 # say HEAD to skip this check
# state should be one of
# laundered
# stitched
# patches
+ git diff --quiet ${beforetag-t.before} -- ':.' ':!debian/patches'
+
+ local etype netype bwtip
+
case $state in
- laundered) etype=Upstream ;;
+ laundered)
+ etype=Upstream
+ bwtip=Y:`t-git-debrebase breakwater`
+ ;;
stitched) etype=Pseudomerge ;;
- patches) etype=XXX-TODO ;;
+ pushed) etype=AddPatches; netype=Pseudomerge ;;
esac
t-git-debrebase analyse >../anal.check
expect="$parents"
enparents=1
: "$ctype/$cetype" "$parents"
+
case "$ctype/$cetype" in
- Pseudomerge/SAME)
+ Pseudomerge/SAME) ;;
+ Packaging/SAME) ;;
+ Packaging/Upstream) ;;
+ AddPatches/SAME) ;;
+ Changelog/Packaging) ;;
+ Changelog/Upstream) ;;
+ Upstream/SAME) ;;
+ BreakwaterUpstreamMerge/Upstream) ;;
+ BreakwaterUpstreamMerge/Packaging) ;;
+ *)
+ fail "etype=$etype ctype=$ctype cetype=$cetype $cid"
+ ;;
+ esac
+
+ case "$ctype/$etype" in
+ Packaging/Upstream|\
+ Changelog/Upstream)
+ if [ "x$bwtip" != x ]; then
+ test "$bwtip" = "Y:$cid"
+ bwtip=''
+ fi
+ esac
+
+ case "$ctype" in
+ Pseudomerge)
expect=${info#Contributor=}
expect=${expect%% *}
enparents=2
git diff --quiet $expect..$cid
etype=Upstream
;;
- Packaging/SAME|\
- Packaging/Upstream)
+ Packaging)
git diff --quiet $expect..$cid -- ':.' ':!debian'
git diff --quiet $expect..$cid -- ':debian/patches'
etype=Packaging
;;
- Changelog/Packaging|\
- Changelog/Upstream)
+ AddPatches)
+ git diff --quiet $expect..$cid -- \
+ ':.' ':!debian/patches'
+ etype=$netype
+ netype=Upstream
+ ;;
+ Changelog)
git diff --quiet $expect..$cid -- \
':.' ':!debian/changelog'
etype=Packaging
Upstream/SAME)
git diff --quiet $expect..$cid -- ':debian'
;;
- BreakwaterUpstreamMerge/Upstream| \
- BreakwaterUpstreamMerge/Packaging)
+ BreakwaterUpstreamMerge)
break
;;
- *)
- fail "etype=$etype ctype=$ctype cetype=$cetype $cid"
- ;;
esac
local cnparents=`printf "%s" "$parents" | wc -w`
done
}
+
+t-some-changes () {
+ local token=$1
+
+ echo >>debian/zorkmid "// debian $token"
+ git add debian/zorkmid
+ git commit -m "DEBIAN add zorkmid ($token)"
+
+ echo >>src.c "// upstream $token"
+ git commit -a -m "UPSTREAM edit src.c ($token)"
+
+ for f in debian/zorkmid src.c; do
+ echo "// both! $token" >>$f
+ git add $f
+ done
+ git commit -m "MIXED add both ($token)"
+}
+
+t-make-new-upstream-tarball () {
+ local uv=$1
+ git checkout make-upstream
+ # leaves ust set to filename of orig tarball
+ echo "upstream $uv" >>docs/README
+ git commit -a -m "upstream $uv tarball"
+ ust=example_$uv.orig.tar.gz
+ git archive -o ../$ust --prefix=example-2.0/ make-upstream
+}