1872 outgoing.commonheads, |
1872 outgoing.commonheads, |
1873 outgoing.missing) |
1873 outgoing.missing) |
1874 cheads.extend(c.node() for c in revset) |
1874 cheads.extend(c.node() for c in revset) |
1875 # even when we don't push, exchanging phase data is useful |
1875 # even when we don't push, exchanging phase data is useful |
1876 remotephases = remote.listkeys('phases') |
1876 remotephases = remote.listkeys('phases') |
|
1877 if (self.ui.configbool('ui', '_usedassubrepo', False) |
|
1878 and remotephases # server supports phases |
|
1879 and ret is None # nothing was pushed |
|
1880 and remotephases.get('publishing', False)): |
|
1881 # When: |
|
1882 # - this is a subrepo push |
|
1883 # - and remote support phase |
|
1884 # - and no changeset was pushed |
|
1885 # - and remote is publishing |
|
1886 # We may be in issue 3871 case! |
|
1887 # We drop the possible phase synchronisation done by |
|
1888 # courtesy to publish changesets possibly locally draft |
|
1889 # on the remote. |
|
1890 remotephases = {'publishing': 'True'} |
1877 if not remotephases: # old server or public only repo |
1891 if not remotephases: # old server or public only repo |
1878 phases.advanceboundary(self, phases.public, cheads) |
1892 phases.advanceboundary(self, phases.public, cheads) |
1879 # don't push any phase data as there is nothing to push |
1893 # don't push any phase data as there is nothing to push |
1880 else: |
1894 else: |
1881 ana = phases.analyzeremotephases(self, cheads, remotephases) |
1895 ana = phases.analyzeremotephases(self, cheads, remotephases) |