Mercurial > hg
view tests/test-issue1502.t @ 35304:f77121b6bf1b
setdiscover: allow to ignore part of the local graph
Currently, the push discovery first determines the full set of common nodes
before looking into what changesets are outgoing. When pushing a specific
subset, this can lead to pathological situations where we search for the status
of thousand of local heads that are unrelated to the requested pushes.
To fix this, we need to teach the discovery to ignores part of the graph. Most
of the necessary pieces were already in place. This changeset just makes them
available to higher level API and tests them.
Change actually impacting pushes are coming in a later changeset.
author | Boris Feld <boris.feld@octobus.net> |
---|---|
date | Wed, 06 Dec 2017 22:44:51 +0100 |
parents | eb586ed5d8ce |
children | 4441705b7111 |
line wrap: on
line source
https://bz.mercurial-scm.org/1502 Initialize repository $ hg init foo $ touch foo/a && hg -R foo commit -A -m "added a" adding a $ hg clone foo foo1 updating to branch default 1 files updated, 0 files merged, 0 files removed, 0 files unresolved $ echo "bar" > foo1/a && hg -R foo1 commit -m "edit a in foo1" $ echo "hi" > foo/a && hg -R foo commit -m "edited a foo" $ hg -R foo1 pull pulling from $TESTTMP/foo (glob) searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files (+1 heads) new changesets 273d008d6e8e (run 'hg heads' to see heads, 'hg merge' to merge) $ hg -R foo1 book branchy $ hg -R foo1 book * branchy 1:e3e522925eff Pull. Bookmark should not jump to new head. $ echo "there" >> foo/a && hg -R foo commit -m "edited a again" $ hg -R foo1 pull pulling from $TESTTMP/foo (glob) searching for changes adding changesets adding manifests adding file changes added 1 changesets with 1 changes to 1 files new changesets 84a798d48b17 (run 'hg update' to get a working copy) $ hg -R foo1 book * branchy 1:e3e522925eff