Mercurial > hg
view tests/test-verify.t @ 13375:f1fa8f481c7c
port win32.py to using the Python ctypes library
The pywin32 package is no longer needed.
ctypes is now required for running Mercurial on Windows.
ctypes is included in Python since version 2.5. For Python 2.4, ctypes is
available as an extra installer package for Windows.
Moved spawndetached() from windows.py to win32.py and fixed it, using
ctypes as well. spawndetached was defunct with Python 2.6.6 because Python
removed their undocumented subprocess.CreateProcess. This fixes
'hg serve -d' on Windows.
author | Adrian Buehlmann <adrian@cadifra.com> |
---|---|
date | Mon, 14 Feb 2011 11:12:26 +0100 |
parents | 92e30e135581 |
children | 6ef3107c661e |
line wrap: on
line source
prepare repo $ hg init a $ cd a $ echo "some text" > FOO.txt $ echo "another text" > bar.txt $ echo "more text" > QUICK.txt $ hg add adding FOO.txt adding QUICK.txt adding bar.txt $ hg ci -mtest1 verify $ hg verify checking changesets checking manifests crosschecking files in changesets and manifests checking files 3 files, 1 changesets, 3 total revisions verify with journal $ touch .hg/store/journal $ hg verify abandoned transaction found - run hg recover checking changesets checking manifests crosschecking files in changesets and manifests checking files 3 files, 1 changesets, 3 total revisions $ rm .hg/store/journal introduce some bugs in repo $ cd .hg/store/data $ mv _f_o_o.txt.i X_f_o_o.txt.i $ mv bar.txt.i xbar.txt.i $ rm _q_u_i_c_k.txt.i $ hg verify checking changesets checking manifests crosschecking files in changesets and manifests checking files data/FOO.txt.i@0: missing revlog! 0: empty or missing FOO.txt FOO.txt@0: f62022d3d590 in manifests not found data/QUICK.txt.i@0: missing revlog! 0: empty or missing QUICK.txt QUICK.txt@0: 88b857db8eba in manifests not found data/bar.txt.i@0: missing revlog! 0: empty or missing bar.txt bar.txt@0: 256559129457 in manifests not found 3 files, 1 changesets, 0 total revisions 9 integrity errors encountered! (first damaged changeset appears to be 0) [1] $ cd .. test revlog corruption $ hg init b $ cd b $ touch a $ hg add a $ hg ci -m a $ echo 'corrupted' > b $ dd if=.hg/store/data/a.i of=start bs=1 count=20 2>/dev/null $ cat start b > .hg/store/data/a.i $ hg verify checking changesets checking manifests crosschecking files in changesets and manifests checking files a@0: broken revlog! (index data/a.i is corrupted) warning: orphan revlog 'data/a.i' 1 files, 1 changesets, 0 total revisions 1 warnings encountered! 1 integrity errors encountered! (first damaged changeset appears to be 0) [1] $ cd .. test revlog format 0 $ "$TESTDIR/revlog-formatv0.py" $ cd formatv0 $ hg verify repository uses revlog format 0 checking changesets checking manifests crosschecking files in changesets and manifests checking files 1 files, 1 changesets, 1 total revisions