##// END OF EJS Templates
changegroup: introduce safeversion()...
changegroup: introduce safeversion() In a few places (at least repair.py and shelve.py), we want to find the best changegroup version that we can assume users of the repo will understand. For example, we choose version 01 by default, but if it's a generaldelta repo, we expect clients to support version 02 anyway, so we choose that for new bundles (for e.g. "hg strip"). Let's create a helper for this functionality in changegroup, so we can reuse it elsewhere later.

File last commit:

r18506:ef60083b stable
r27929:3b2ac211 stable
Show More
test-push-validation.t
92 lines | 1.9 KiB | text/troff | Tads3Lexer
/ tests / test-push-validation.t
Adrian Buehlmann
combine tests
r12279 $ hg init test
$ cd test
$ cat > .hg/hgrc <<EOF
> [server]
> validate=1
> EOF
$ echo alpha > alpha
$ echo beta > beta
$ hg addr
adding alpha
adding beta
$ hg ci -m 1
$ cd ..
$ hg clone test test-clone
updating to branch default
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
Sune Foldager
validate: check for spurious incoming filelog entries...
r18422 Test spurious filelog entries:
Adrian Buehlmann
combine tests
r12279 $ cd test-clone
Sune Foldager
validate: check for spurious incoming filelog entries...
r18422 $ echo blah >> beta
$ cp .hg/store/data/beta.i tmp1
$ hg ci -m 2
$ cp .hg/store/data/beta.i tmp2
$ hg -q rollback
$ mv tmp2 .hg/store/data/beta.i
$ echo blah >> beta
$ hg ci -m '2 (corrupt)'
Expected to fail:
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
beta@1: dddc47b3ba30 not in manifests
2 files, 2 changesets, 4 total revisions
1 integrity errors encountered!
(first damaged changeset appears to be 1)
[1]
$ hg push
Mads Kiilerich
tests: fix for windows - slashes and no serve
r18506 pushing to $TESTTMP/test (glob)
Sune Foldager
validate: check for spurious incoming filelog entries...
r18422 searching for changes
adding changesets
adding manifests
adding file changes
transaction abort!
rollback completed
abort: received spurious file revlog entry
[255]
$ hg -q rollback
$ mv tmp1 .hg/store/data/beta.i
$ echo beta > beta
Test missing filelog entries:
Adrian Buehlmann
combine tests
r12279 $ cp .hg/store/data/beta.i tmp
$ echo blah >> beta
$ hg ci -m '2 (corrupt)'
$ mv tmp .hg/store/data/beta.i
Expected to fail:
$ hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
beta@1: dddc47b3ba30 in manifests not found
2 files, 2 changesets, 2 total revisions
1 integrity errors encountered!
(first damaged changeset appears to be 1)
Matt Mackall
tests: add exit codes to unified tests
r12316 [1]
Adrian Buehlmann
combine tests
r12279
$ hg push
Mads Kiilerich
tests: make (glob) on windows accept \ instead of /...
r15447 pushing to $TESTTMP/test (glob)
Adrian Buehlmann
combine tests
r12279 searching for changes
adding changesets
adding manifests
adding file changes
transaction abort!
rollback completed
abort: missing file data for beta:dddc47b3ba30e54484720ce0f4f768a0f4b6efb9 - run hg verify
Matt Mackall
tests: add exit codes to unified tests
r12316 [255]
Adrian Buehlmann
combine tests
r12279
Mads Kiilerich
tests: add missing trailing 'cd ..'...
r16913 $ cd ..