chiark / gitweb /
Test suite: inarchivecopy: More work
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 14 Aug 2016 11:10:32 +0000 (12:10 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 6 Sep 2016 12:20:35 +0000 (13:20 +0100)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
tests/tests/inarchivecopy

index 8f44ea69824d5ab78076e686dc7a1861a80ddf67..ed0bcae20639ba21145909be68e64486573fba11 100755 (executable)
@@ -7,17 +7,49 @@ t-restrict x-dgit-unfinished
 t-setup-import examplegit
 
 cd $p
-git show-ref >../t
+git checkout -b dgit/stable dgit/dgit/stable
 cd ..
 
-egrep '^1\.3' aq/package.sid.$p >>aq/package.stable.example
+t-inarchive-copy () {
+       local vm=$1
+       local from=${2:-sid}
+       local to=${3:-stable}
+       egrep "^${vm//./\\.}" aq/package.$from.$p >>aq/package.$to.$p
+       t-archive-updated stable $p
+}
 
-t-archive-updated stable $p
+copy-check-good () {
+       git diff $vtag
+       t-refs-same refs/remotes/dgit/dgit/stable
+       t-ref-head
+}
 
-t-dgit clone $p stable foo
+copy-check () {
+       local vm=$1
+       t-inarchive-copy $vm
 
-cd $p
+       vtag=$(v=$vm t-v-tag)
+
+       cd $p
+        t-refs-same-start
+        t-ref-same $vtag^1
+
+        t-dgit fetch stable
+        git merge --ff-only dgit/dgit/stable
+
+        copy-check-good
+       cd ..
+
+       rm -rf example.cloned
+       t-dgit clone $p stable example.cloned
+
+       cd example.cloned
+        copy-check-good
+       cd ..
+}
+
+copy-check 2.0
 
-t-dgit fetch stable
+copy-check 2.1
 
 xxx rest of test