Mercurial > hg
view tests/test-pull-pull-corruption2.t @ 14732:e9ed3506f066 stable
backout of d04ba50e104d: allow to qpop/push with a dirty working copy
The new behavior was breaking existing tools that relied on a sequence such as
this:
1) start with a dirty working copy
2) qimport some patch
3) try to qpush it
4) old behavior would fail at this point due to outstanding changes.
(new behavior would only fail if the outstanding changes and the patches
changes intersect)
5) innocent user qrefreshes, gets his local changes in the imported patch
It's worth considering if we can move this behavior to -f in the future.
author | Idan Kamara <idankk86@gmail.com> |
---|---|
date | Fri, 24 Jun 2011 23:25:42 +0300 |
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