# HG changeset patch # User Steve Losh # Date 1248333235 14400 # Node ID c9a86b8b497cdb4e5cab913a8625a51f7b29f0b4 # Parent b2e16a4c2d466793ccf6fa23bb41dfbd7696f6c0 Add the {rev} and {rev|merge} keywords. diff -r b2e16a4c2d46 -r c9a86b8b497c prompt.py --- a/prompt.py Thu Jul 23 02:40:12 2009 -0400 +++ b/prompt.py Thu Jul 23 03:13:55 2009 -0400 @@ -131,6 +131,17 @@ to = repo[repo.branchtags()[curr.branch()]] return _with_groups(m.groups(), '^') if curr != to else '' + def _rev(m): + g = m.groups() + out_g = (g[0],) + (g[-1],) + + parents = repo[None].parents() + p = 0 if '|merge' not in g else 1 + p = p if len(parents) > p else None + + rev = parents[p].rev() if p is not None else None + return _with_groups(out_g, str(rev)) if rev else '' + def _remote(kind): def _r(m): g = m.groups() @@ -166,6 +177,7 @@ patterns = { 'bookmark': _bookmark, 'branch': _branch, + 'rev(\|merge)?': _rev, 'root': _root, 'root\|basename': _basename, 'status': _status,