diff options
author | Sylvain Th?nault <sylvain.thenault@logilab.fr> | 2011-01-10 15:01:57 +0100 |
---|---|---|
committer | Sylvain Th?nault <sylvain.thenault@logilab.fr> | 2011-01-10 15:01:57 +0100 |
commit | 724f82e27e4995148788085c296c0a1d6e7012ef (patch) | |
tree | 84fb6cce9beb3b4c15bd73b10799782ec569e6af /hg.py | |
parent | d25f92acfb4840cfa6f41e40d58f915d32d717fc (diff) | |
download | logilab-common-724f82e27e4995148788085c296c0a1d6e7012ef.tar.gz |
[mercurial] make incoming function works with non-local repository
Diffstat (limited to 'hg.py')
-rw-r--r-- | hg.py | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -107,6 +107,17 @@ def incoming(wdrepo, masterrepo): revs, checkout = hg.addbranchrevs(wdrepo, masterrepo, ('', []), None) common, incoming, rheads = discovery.findcommonincoming( wdrepo, masterrepo, heads=revs) + if masterrepo.local(): + from mercurial import bundlerepo + if revs is None and masterrepo.capable('changegroupsubset'): + revs = rheads + if revs is None: + cg = masterrepo.changegroup(incoming, "incoming") + else: + cg = masterrepo.changegroupsubset(incoming, revs, 'incoming') + fname = changegroup.writebundle(cg, None, "HG10UN") + # use the created uncompressed bundlerepo + masterrepo = bundlerepo.bundlerepository(ui, repo.root, fname) return masterrepo.changelog.nodesbetween(incoming, revs)[0] def outgoing(wdrepo, masterrepo): |