Angel Ezquerra committed 1c632c6

Make extension compatible with mercurial 2.3

The hg.clone method does not returna localrepository object anymore, but a
localpeer object. Thus, if the localrepo module defines a localpeer class we
must get the localrepository object from the peer object by calling its local()
method, so that then we can pass it to the original update method.

Comments (0)

Files changed (1)

 import os, sys, fnmatch
 from operator import itemgetter
 from mercurial import hg, extensions, pushkey, config, util, error
-from mercurial import commands, dispatch, cmdutil
+from mercurial import commands, dispatch, cmdutil, localrepo
 from mercurial.i18n import _
 # Compatibility import to handle API changes between 1.8 and 1.9
     # We then do the update, if necessary.
     if uprev[0]:
-        origupdate(dst, uprev[0])
+        dstrepo = dst
+        if hasattr(localrepo, 'localpeer'):
+            dstrepo = dst.local()
+        origupdate(dstrepo, uprev[0])
     return src, dst
 def incoming(orig, ui, repo, srcpath, *args, **kwargs):