equal
deleted
inserted
replaced
1853 at some point.""" |
1853 at some point.""" |
1854 tmp = discovery.findcommonincoming( |
1854 tmp = discovery.findcommonincoming( |
1855 pullop.repo, pullop.remote, heads=pullop.heads, force=pullop.force |
1855 pullop.repo, pullop.remote, heads=pullop.heads, force=pullop.force |
1856 ) |
1856 ) |
1857 common, fetch, rheads = tmp |
1857 common, fetch, rheads = tmp |
1858 nm = pullop.repo.unfiltered().changelog.nodemap |
1858 has_node = pullop.repo.unfiltered().changelog.index.has_node |
1859 if fetch and rheads: |
1859 if fetch and rheads: |
1860 # If a remote heads is filtered locally, put in back in common. |
1860 # If a remote heads is filtered locally, put in back in common. |
1861 # |
1861 # |
1862 # This is a hackish solution to catch most of "common but locally |
1862 # This is a hackish solution to catch most of "common but locally |
1863 # hidden situation". We do not performs discovery on unfiltered |
1863 # hidden situation". We do not performs discovery on unfiltered |
1866 # |
1866 # |
1867 # If a set of such "common but filtered" changeset exist on the server |
1867 # If a set of such "common but filtered" changeset exist on the server |
1868 # but are not including a remote heads, we'll not be able to detect it, |
1868 # but are not including a remote heads, we'll not be able to detect it, |
1869 scommon = set(common) |
1869 scommon = set(common) |
1870 for n in rheads: |
1870 for n in rheads: |
1871 if n in nm: |
1871 if has_node(n): |
1872 if n not in scommon: |
1872 if n not in scommon: |
1873 common.append(n) |
1873 common.append(n) |
1874 if set(rheads).issubset(set(common)): |
1874 if set(rheads).issubset(set(common)): |
1875 fetch = [] |
1875 fetch = [] |
1876 pullop.common = common |
1876 pullop.common = common |