Luke Plant avatar Luke Plant committed 602ab19

Fixed --outgoing to work with hg >= 1.9

Comments (0)

Files changed (1)

         dest = ui.expandpath(parent or 'default-push', parent or 'default')
         dest, revs = hg.parseurl(dest, None)[:2]
         if isinstance(revs, tuple):
-            # python >= 1.6
+            # mercurial >= 1.6
             revs, checkout = hg.addbranchrevs(repo, repo, revs, None)
             other = hg.repository(hg.remoteui(repo, opts), dest)
-            findoutgoing = discovery.findoutgoing
+            if hasattr(discovery, 'findoutgoing'):
+                # mercurial < 1.9
+                def findoutgoing(repo, other, revs, force=False):
+                    return discovery.findoutgoing(repo, other, force=force)
+            else:
+                # mercurial >= 1.9
+                def findoutgoing(repo, other, revs, force=False):
+                    common, outheads = discovery.findcommonoutgoing(repo, other, revs,
+                                                                    force=force)
+                    return repo.changelog.findmissing(common, outheads)[0:1]
         else:
             other = hg.repository(ui, dest)
             def findoutgoing(repo, other, force=False):
         if revs:
             revs = [repo.lookup(rev) for rev in revs]
 
-        ui.status(_('comparing with %s\n') % url.hidepassword(dest))
-        parent = findoutgoing(repo, other, force=opts.get('force'))
+        if hasattr(url, 'hidepassword'):
+            cleanurl = url.hidepassword(dest)
+        else:
+            # mercurial > 1.9
+            cleanurl = util.hidepassword(dest)
+
+        ui.status(_('comparing with %s\n') % cleanurl)
+        parent = findoutgoing(repo, other, revs, force=opts.get('force'))
     else:
         if opts.get('force'):
             raise util.Abort('--force only allowed with --outgoing')
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.