tests/test-push.t
changeset 30280 0269ab4f4371
parent 30279 a8d2071c3373
child 30281 e58acb4fc510
equal deleted inserted replaced
30279:a8d2071c3373 30280:0269ab4f4371
   145   crosschecking files in changesets and manifests
   145   crosschecking files in changesets and manifests
   146   checking files
   146   checking files
   147   4 files, 9 changesets, 7 total revisions
   147   4 files, 9 changesets, 7 total revisions
   148 
   148 
   149   $ cd ..
   149   $ cd ..
       
   150 
       
   151 Test server side validation during push
       
   152 =======================================
       
   153 
       
   154   $ hg init test-validation
       
   155   $ cd test-validation
       
   156 
       
   157   $ cat > .hg/hgrc <<EOF
       
   158   > [server]
       
   159   > validate=1
       
   160   > EOF
       
   161 
       
   162   $ echo alpha > alpha
       
   163   $ echo beta > beta
       
   164   $ hg addr
       
   165   adding alpha
       
   166   adding beta
       
   167   $ hg ci -m 1
       
   168 
       
   169   $ cd ..
       
   170   $ hg clone test-validation test-validation-clone
       
   171   updating to branch default
       
   172   2 files updated, 0 files merged, 0 files removed, 0 files unresolved
       
   173 
       
   174 Test spurious filelog entries:
       
   175 
       
   176   $ cd test-validation-clone
       
   177   $ echo blah >> beta
       
   178   $ cp .hg/store/data/beta.i tmp1
       
   179   $ hg ci -m 2
       
   180   $ cp .hg/store/data/beta.i tmp2
       
   181   $ hg -q rollback
       
   182   $ mv tmp2 .hg/store/data/beta.i
       
   183   $ echo blah >> beta
       
   184   $ hg ci -m '2 (corrupt)'
       
   185 
       
   186 Expected to fail:
       
   187 
       
   188   $ hg verify
       
   189   checking changesets
       
   190   checking manifests
       
   191   crosschecking files in changesets and manifests
       
   192   checking files
       
   193    beta@1: dddc47b3ba30 not in manifests
       
   194   2 files, 2 changesets, 4 total revisions
       
   195   1 integrity errors encountered!
       
   196   (first damaged changeset appears to be 1)
       
   197   [1]
       
   198 
       
   199   $ hg push
       
   200   pushing to $TESTTMP/test-validation (glob)
       
   201   searching for changes
       
   202   adding changesets
       
   203   adding manifests
       
   204   adding file changes
       
   205   transaction abort!
       
   206   rollback completed
       
   207   abort: received spurious file revlog entry
       
   208   [255]
       
   209 
       
   210   $ hg -q rollback
       
   211   $ mv tmp1 .hg/store/data/beta.i
       
   212   $ echo beta > beta
       
   213 
       
   214 Test missing filelog entries:
       
   215 
       
   216   $ cp .hg/store/data/beta.i tmp
       
   217   $ echo blah >> beta
       
   218   $ hg ci -m '2 (corrupt)'
       
   219   $ mv tmp .hg/store/data/beta.i
       
   220 
       
   221 Expected to fail:
       
   222 
       
   223   $ hg verify
       
   224   checking changesets
       
   225   checking manifests
       
   226   crosschecking files in changesets and manifests
       
   227   checking files
       
   228    beta@1: manifest refers to unknown revision dddc47b3ba30
       
   229   2 files, 2 changesets, 2 total revisions
       
   230   1 integrity errors encountered!
       
   231   (first damaged changeset appears to be 1)
       
   232   [1]
       
   233 
       
   234   $ hg push
       
   235   pushing to $TESTTMP/test-validation (glob)
       
   236   searching for changes
       
   237   adding changesets
       
   238   adding manifests
       
   239   adding file changes
       
   240   transaction abort!
       
   241   rollback completed
       
   242   abort: missing file data for beta:dddc47b3ba30e54484720ce0f4f768a0f4b6efb9 - run hg verify
       
   243   [255]
       
   244 
       
   245   $ cd ..