# HG changeset patch # User Matt Mackall # Date 1366743578 18000 # Node ID f0bde4bf1f7819b15c93be059b8d01f21cd8a146 # Parent bdc9b21ea8d079ace9832f9e7240a670a2eba52d revsets: add support for 'r123' revision labels This is controlled by an hgsubversion.nativerevs boolean (off by default). diff --git a/hgsubversion/__init__.py b/hgsubversion/__init__.py --- a/hgsubversion/__init__.py +++ b/hgsubversion/__init__.py @@ -180,6 +180,9 @@ def reposetup(ui, repo): for tunnel in ui.configlist('hgsubversion', 'tunnels'): hg.schemes['svn+' + tunnel] = svnrepo + if revset and ui.configbool('hgsubversion', 'nativerevs'): + extensions.wrapfunction(revset, 'stringset', util.revset_stringset) + _old_local = hg.schemes['file'] def _lookup(url): if util.islocalrepo(url): diff --git a/hgsubversion/util.py b/hgsubversion/util.py --- a/hgsubversion/util.py +++ b/hgsubversion/util.py @@ -340,6 +340,11 @@ revsets = { 'svnrev': revset_svnrev, } +def revset_stringset(orig, repo, subset, x): + if x.startswith('r') and x[1:].isdigit(): + return revset_svnrev(repo, subset, ('string', x[1:])) + return orig + def getfilestoresize(ui): """Return the replay or stupid file memory store size in megabytes or -1""" size = ui.configint('hgsubversion', 'filestoresize', 200)