Mercurial > public > mercurial-scm > hg
comparison mercurial/localrepo.py @ 15485:fa47291b3f1f
phases: mark content pushed as public in local repo on push
author | Pierre-Yves David <pierre-yves.david@ens-lyon.org> |
---|---|
date | Fri, 11 Nov 2011 00:21:17 +0100 |
parents | a44446ff9ad8 |
children | 1eefa4451c56 |
comparison
equal
deleted
inserted
replaced
15484:a44446ff9ad8 | 15485:fa47291b3f1f |
---|---|
1552 lock = None | 1552 lock = None |
1553 unbundle = remote.capable('unbundle') | 1553 unbundle = remote.capable('unbundle') |
1554 if not unbundle: | 1554 if not unbundle: |
1555 lock = remote.lock() | 1555 lock = remote.lock() |
1556 try: | 1556 try: |
1557 cg, remote_heads = discovery.prepush(self, remote, force, revs, | 1557 # get local lock as we might write phase data |
1558 newbranch) | 1558 locallock = self.lock() |
1559 ret = remote_heads | 1559 try: |
1560 if cg is not None: | 1560 cg, remote_heads, fut = discovery.prepush(self, remote, force, |
1561 if unbundle: | 1561 revs, newbranch) |
1562 # local repo finds heads on server, finds out what | 1562 ret = remote_heads |
1563 # revs it must push. once revs transferred, if server | 1563 if cg is not None: |
1564 # finds it has different heads (someone else won | 1564 if unbundle: |
1565 # commit/push race), server aborts. | 1565 # local repo finds heads on server, finds out what |
1566 if force: | 1566 # revs it must push. once revs transferred, if server |
1567 remote_heads = ['force'] | 1567 # finds it has different heads (someone else won |
1568 # ssh: return remote's addchangegroup() | 1568 # commit/push race), server aborts. |
1569 # http: return remote's addchangegroup() or 0 for error | 1569 if force: |
1570 ret = remote.unbundle(cg, remote_heads, 'push') | 1570 remote_heads = ['force'] |
1571 else: | 1571 # ssh: return remote's addchangegroup() |
1572 # we return an integer indicating remote head count change | 1572 # http: return remote's addchangegroup() or 0 for error |
1573 ret = remote.addchangegroup(cg, 'push', self.url(), | 1573 ret = remote.unbundle(cg, remote_heads, 'push') |
1574 lock=lock) | 1574 else: |
1575 # we return an integer indicating remote head count change | |
1576 ret = remote.addchangegroup(cg, 'push', self.url(), | |
1577 lock=lock) | |
1578 # if we don't push, the common data is already useful | |
1579 # everything exchange is public for now | |
1580 phases.advanceboundary(self, 0, fut) | |
1581 finally: | |
1582 locallock.release() | |
1575 finally: | 1583 finally: |
1576 if lock is not None: | 1584 if lock is not None: |
1577 lock.release() | 1585 lock.release() |
1578 | 1586 |
1579 self.ui.debug("checking for updated bookmarks\n") | 1587 self.ui.debug("checking for updated bookmarks\n") |