diff hggit/overlay.py @ 568:41f6e3df67b1

overlaychangectx: fix compatibility with mercurial 2.4-rc (no attribute _repo) This isn't a real implementation of phases support. Rather, it's just enough to avoid the traceback. Traceback (most recent call last): File "/usr/local/share/python/hg", line 38, in <module> mercurial.dispatch.run() File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 28, in run sys.exit((dispatch(request(sys.argv[1:])) or 0) & 255) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 65, in dispatch return _runcatch(req) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 88, in _runcatch return _dispatch(req) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 741, in _dispatch cmdpats, cmdoptions) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 514, in runcommand ret = _runcommand(ui, options, cmd, d) File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 831, in _runcommand return checkargs() File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 802, in checkargs return cmdfunc() File "/usr/local/lib/python2.7/site-packages/mercurial/dispatch.py", line 738, in <lambda> d = lambda: util.checksignature(func)(ui, *args, **cmdoptions) File "/usr/local/lib/python2.7/site-packages/mercurial/util.py", line 472, in check return func(*args, **kwargs) File "/usr/local/lib/python2.7/site-packages/mercurial/commands.py", line 3942, in incoming return hg.incoming(ui, repo, source, opts) File "/usr/local/lib/python2.7/site-packages/mercurial/hg.py", line 525, in incoming return _incoming(display, subreporecurse, ui, repo, source, opts) File "/usr/local/lib/python2.7/site-packages/mercurial/hg.py", line 494, in _incoming displaychlist(other, chlist, displayer) File "/usr/local/lib/python2.7/site-packages/mercurial/hg.py", line 524, in display displayer.show(other[n]) File "/usr/local/lib/python2.7/site-packages/mercurial/cmdutil.py", line 670, in show self._show(ctx, copies, matchfn, props) File "/usr/local/lib/python2.7/site-packages/mercurial/cmdutil.py", line 691, in _show label='log.changeset changeset.%s' % ctx.phasestr()) File "/usr/local/lib/python2.7/site-packages/mercurial/context.py", line 203, in phasestr return phases.phasenames[self.phase()] File "/usr/local/lib/python2.7/site-packages/mercurial/context.py", line 201, in phase return self._repo._phasecache.phase(self._repo, self._rev) AttributeError: 'overlaychangectx' object has no attribute '_repo'
author David M. Carr <david@carrclan.us>
date Mon, 29 Oct 2012 20:16:00 -0400
parents ac16efd25cc4
children a24c2f90a3dd
line wrap: on
line diff
--- a/hggit/overlay.py	Wed Oct 17 10:50:55 2012 -0500
+++ b/hggit/overlay.py	Mon Oct 29 20:16:00 2012 -0400
@@ -151,6 +151,13 @@
     def __nonzero__(self):
         return True
 
+    def phase(self):
+        try:
+            from mercurial import phases
+            return phases.draft
+        except ImportError:
+            return 1
+
 class overlayrevlog(object):
     def __init__(self, repo, base):
         self.repo = repo