Mercurial > hg
view tests/test-fetch.out @ 7233:9f0e52e1df77
fix pull racing with push/commit (issue1320)
changegroup() has a problem when nodes which does not descend from a node
in <bases> are added to remote after the discovery phase.
If that happens, changegroup() won't send the correct set of nodes, ie.
some nodes will be missing.
To correct it we have to find the set of nodes that both remote and self
have (called <common>), and send all the nodes not in <common>.
This fix has some overhead, in the worst case it will re-send a whole branch.
A proper fix to avoid this overhead might be to change the protocol so that
the <common> nodes are sent (instead of the <bases> of the missing nodes).
author | Benoit Boissinot <benoit.boissinot@ens-lyon.org> |
---|---|
date | Tue, 21 Oct 2008 17:00:35 +0200 |
parents | 6489ee64b522 |
children | 6163ef936a00 |
line wrap: on
line source
% test fetch with default branches only adding a updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding b 1:97d72e5f12c7 % should pull one change pulling from ../a searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1:97d72e5f12c7 adding c updating working directory 2 files updated, 0 files merged, 0 files removed, 0 files unresolved updating working directory 2 files updated, 0 files merged, 0 files removed, 0 files unresolved % should merge c into a pulling from ../a searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) updating to 2:97d72e5f12c7 1 files updated, 0 files merged, 1 files removed, 0 files unresolved merging with 1:5e056962225c 1 files updated, 0 files merged, 0 files removed, 0 files unresolved new changeset 3:cd3a41621cf0 merges remote changes with local a b c % fetch over http, no auth pulling from http://localhost:20059/ searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) updating to 2:97d72e5f12c7 1 files updated, 0 files merged, 1 files removed, 0 files unresolved merging with 1:5e056962225c 1 files updated, 0 files merged, 0 files removed, 0 files unresolved new changeset 3:... merges remote changes with local Automated merge with http://localhost:20059/ % fetch over http with auth (should be hidden in desc) pulling from http://user:***@localhost:20059/ searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) updating to 2:97d72e5f12c7 1 files updated, 0 files merged, 1 files removed, 0 files unresolved merging with 1:5e056962225c 1 files updated, 0 files merged, 0 files removed, 0 files unresolved new changeset 3:... merges remote changes with local Automated merge with http://localhost:20059/ updating working directory 2 files updated, 0 files merged, 0 files removed, 0 files unresolved updating working directory 2 files updated, 0 files merged, 0 files removed, 0 files unresolved adding f adding g % should merge f into g pulling from ../f searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) 0 files updated, 0 files merged, 0 files removed, 0 files unresolved merging with 3:cc6a3744834d 1 files updated, 0 files merged, 0 files removed, 0 files unresolved new changeset 4:55aa4f32ec59 merges remote changes with local % should abort, because i is modified abort: working directory is missing some files % test fetch with named branches adding a marked working directory as branch a 1 files updated, 0 files merged, 0 files removed, 0 files unresolved marked working directory as branch b adding b created new head % pull in change on foreign branch updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved pulling from n1 searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 2 files % parent should be 2 (no automatic update) 2 % pull in changes on both foreign and local branches updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved pulling from n1 searching for changes adding changesets adding manifests adding file changes added 2 changesets with 2 changes to 2 files 1 files updated, 0 files merged, 0 files removed, 0 files unresolved % parent should be 4 (fast forward) 4 % pull changes on foreign (2 new heads) and local (1 new head) branches % with a local change updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 2 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 1 files removed, 0 files unresolved created new head 1 files updated, 0 files merged, 0 files removed, 0 files unresolved adding c pulling from n1 searching for changes adding changesets adding manifests adding file changes added 3 changesets with 3 changes to 2 files (+2 heads) updating to 5:708c6cce3d26 1 files updated, 0 files merged, 1 files removed, 0 files unresolved merging with 3:d83427717b1f 1 files updated, 0 files merged, 0 files removed, 0 files unresolved new changeset 7:48f1a33f52af merges remote changes with local % parent should be 7 (new merge changeset) 7 % pull in changes on foreign (merge of local branch) and local (2 new % heads) with a local change updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved 1 files updated, 0 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit) 1 files updated, 0 files merged, 0 files removed, 0 files unresolved created new head 1 files updated, 0 files merged, 0 files removed, 0 files unresolved created new head 1 files updated, 0 files merged, 0 files removed, 0 files unresolved pulling from n1 searching for changes adding changesets adding manifests adding file changes added 3 changesets with 2 changes to 1 files (+2 heads) not merging with 1 other new branch heads (use "hg heads ." and "hg merge" to merge them) % parent should be 3 (fetch did not merge anything) 3 % pull in change on different branch than dirstate adding a updating working directory 1 files updated, 0 files merged, 0 files removed, 0 files unresolved marked working directory as branch topic abort: working dir not at branch tip (use "hg update" to check out branch tip) % parent should be 0 (fetch did not update or merge anything) 0