chiark / gitweb /
git-debrebase: test suite: introduce t-make-new-upstream-tarball
[dgit.git] / tests / lib-gdr
index fb58bf9c08a1556d4297acc0af99e64c8a52bc6d..74c571ab7743aa2bd7e705a96ec06f943206ddb7 100644 (file)
@@ -12,17 +12,22 @@ t-git-debrebase () {
 '
 }
 
-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
+
        case $state in
        laundered)      etype=Upstream  ;;
        stitched)       etype=Pseudomerge ;;
-       patches)        etype=XXX-TODO ;;
+       pushed)         etype=AddPatches; netype=Pseudomerge ;;
        esac
 
        t-git-debrebase analyse >../anal.check
@@ -52,6 +57,12 @@ t-gdr-branch-structure () {
                        git diff --quiet $expect..$cid -- ':debian/patches'
                        etype=Packaging
                        ;;
+               AddPatches/SAME)
+                       git diff --quiet $expect..$cid -- \
+                               ':.' ':!debian/patches'
+                       etype=$netype
+                       netype=Upstream
+                       ;;
                Changelog/Packaging|\
                Changelog/Upstream)
                        git diff --quiet $expect..$cid -- \
@@ -80,3 +91,30 @@ t-gdr-branch-structure () {
 
        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
+}