Details
Details
Diff Detail
Diff Detail
- Repository
- rHG Mercurial
- Lint
Automatic diff as part of commit; lint not applicable. - Unit
Automatic diff as part of commit; unit tests not applicable.
| Automatic diff as part of commit; lint not applicable. |
| Automatic diff as part of commit; unit tests not applicable. |
| Path | Packages | |||
|---|---|---|---|---|
| M | mercurial/exchange.py (4 lines) |
| Status | Author | Revision | |
|---|---|---|---|
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute | ||
| Closed | marmoute |
| """discovery phase for the pull | """discovery phase for the pull | ||||
| Current handle changeset discovery only, will change handle all discovery | Current handle changeset discovery only, will change handle all discovery | ||||
| at some point.""" | at some point.""" | ||||
| tmp = discovery.findcommonincoming( | tmp = discovery.findcommonincoming( | ||||
| pullop.repo, pullop.remote, heads=pullop.heads, force=pullop.force | pullop.repo, pullop.remote, heads=pullop.heads, force=pullop.force | ||||
| ) | ) | ||||
| common, fetch, rheads = tmp | common, fetch, rheads = tmp | ||||
| nm = pullop.repo.unfiltered().changelog.nodemap | has_node = pullop.repo.unfiltered().changelog.index.has_node | ||||
| if fetch and rheads: | if fetch and rheads: | ||||
| # If a remote heads is filtered locally, put in back in common. | # If a remote heads is filtered locally, put in back in common. | ||||
| # | # | ||||
| # This is a hackish solution to catch most of "common but locally | # This is a hackish solution to catch most of "common but locally | ||||
| # hidden situation". We do not performs discovery on unfiltered | # hidden situation". We do not performs discovery on unfiltered | ||||
| # repository because it end up doing a pathological amount of round | # repository because it end up doing a pathological amount of round | ||||
| # trip for w huge amount of changeset we do not care about. | # trip for w huge amount of changeset we do not care about. | ||||
| # | # | ||||
| # If a set of such "common but filtered" changeset exist on the server | # If a set of such "common but filtered" changeset exist on the server | ||||
| # but are not including a remote heads, we'll not be able to detect it, | # but are not including a remote heads, we'll not be able to detect it, | ||||
| scommon = set(common) | scommon = set(common) | ||||
| for n in rheads: | for n in rheads: | ||||
| if n in nm: | if has_node(n): | ||||
| if n not in scommon: | if n not in scommon: | ||||
| common.append(n) | common.append(n) | ||||
| if set(rheads).issubset(set(common)): | if set(rheads).issubset(set(common)): | ||||
| fetch = [] | fetch = [] | ||||
| pullop.common = common | pullop.common = common | ||||
| pullop.fetch = fetch | pullop.fetch = fetch | ||||
| pullop.rheads = rheads | pullop.rheads = rheads | ||||