chiark / gitweb /
Test suite: inarchivecopy: More work
[dgit.git] / tests / tests / inarchivecopy
index 8f44ea6..ed0bcae 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