Mercurial > hg-stable
view tests/test-pull-pull-corruption2.t @ 16282:50247a7a9983 stable
largefiles: use 'dirstate.dirs()' for 'directory pattern' relation check
original implementation queries whether specified pattern is related
or not to largefiles in target context by 'dirstate.__contains__()'.
but this can't recognize 'directory pattern' correctly, so this patch
uses 'dirstate.dirs()' for it.
this patch uses dirstate instead of lfdirstate in 'working' route
(second patch hunk for 'hgext/largefiles/reposetup.py'), because
'dirs()' information may be already built for dirstate but not yet for
lfdirstate at this point. this prevents lfdirstate from building up
and having 'dirs()' information.
author | FUJIWARA Katsunori <foozy@lares.dti.ne.jp> |
---|---|
date | Thu, 22 Mar 2012 23:58:47 +0900 |
parents | 2f8740c639e4 |
children |
line wrap: on
line source
Corrupt an hg repo with two pulls. create one repo with a long history $ hg init source1 $ cd source1 $ touch foo $ hg add foo $ for i in 1 2 3 4 5 6 7 8 9 10; do > echo $i >> foo > hg ci -m $i > done $ cd .. create a third repo to pull both other repos into it $ hg init version2 $ hg -R version2 pull source1 & $ sleep 1 pulling from source1 requesting all changes adding changesets adding manifests adding file changes added 10 changesets with 10 changes to 1 files (run 'hg update' to get a working copy) $ hg clone --pull -U version2 corrupted requesting all changes adding changesets adding manifests adding file changes added 10 changesets with 10 changes to 1 files $ wait $ hg -R corrupted verify checking changesets checking manifests crosschecking files in changesets and manifests checking files 1 files, 10 changesets, 10 total revisions $ hg -R version2 verify checking changesets checking manifests crosschecking files in changesets and manifests checking files 1 files, 10 changesets, 10 total revisions