hg-info started, but not perfect yet
--HG-- branch : pmacs2
This commit is contained in:
parent
bf8beb2c12
commit
8be0f59be1
19
method/hg.py
19
method/hg.py
|
@ -6,7 +6,7 @@ from method import Method, Argument
|
||||||
from method.vc import VcBlame
|
from method.vc import VcBlame
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from mercurial import hg, ui
|
from mercurial import hg, ui, node
|
||||||
from mercurial import commands as hgc
|
from mercurial import commands as hgc
|
||||||
has_hg = True
|
has_hg = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
@ -49,6 +49,23 @@ class HgLog(Method, HgBase):
|
||||||
s = ''.join(ui_imp.popbuffer())
|
s = ''.join(ui_imp.popbuffer())
|
||||||
w.application.data_buffer('*Log*', s, switch_to=True)
|
w.application.data_buffer('*Log*', s, switch_to=True)
|
||||||
|
|
||||||
|
class HgInfo(Method, HgBase):
|
||||||
|
"""Get some basic info from Mercurial about the current buffer"""
|
||||||
|
def _execute(self, w, **vargs):
|
||||||
|
if not self._hg_check(w):
|
||||||
|
return
|
||||||
|
base = os.path.basename(w.buffer.path)
|
||||||
|
ui_imp, repo = self._hg_init()
|
||||||
|
path = w.buffer.path.replace(os.getcwd() + '/', '')
|
||||||
|
l = repo.file(path)
|
||||||
|
status = 'Unknown'
|
||||||
|
rev = l.linkrev(l.rev(l.tip()))
|
||||||
|
ctx = repo[rev]
|
||||||
|
changeid = node.hex(ctx.node()[:6])
|
||||||
|
user = ui_imp.shortuser(ctx.user())
|
||||||
|
msg = '%s %s %s:%s [%s]' % (base, status, rev, changeid, user)
|
||||||
|
w.set_error(msg)
|
||||||
|
|
||||||
class HgDiff(Method, HgBase):
|
class HgDiff(Method, HgBase):
|
||||||
"""Diff the current file with the version in Mercurial"""
|
"""Diff the current file with the version in Mercurial"""
|
||||||
def _get_revs(self, w, **vargs):
|
def _get_revs(self, w, **vargs):
|
||||||
|
|
Loading…
Reference in New Issue