Rev 5703: (jelmer) More lazy loading in bzrlib.revisionspec. (Jelmer Vernooij) in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Mon Mar 7 16:49:25 UTC 2011
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 5703 [merge]
revision-id: pqm at pqm.ubuntu.com-20110307164922-h4ny7ro3g0k9bi9e
parent: pqm at pqm.ubuntu.com-20110307153403-v1c3wgpajflxmejf
parent: jelmer at samba.org-20110303125021-ziry6a0qsr9l72x5
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Mon 2011-03-07 16:49:22 +0000
message:
(jelmer) More lazy loading in bzrlib.revisionspec. (Jelmer Vernooij)
modified:
bzrlib/revisionspec.py revisionspec.py-20050907152633-17567659fd5c0ddb
=== modified file 'bzrlib/revisionspec.py'
--- a/bzrlib/revisionspec.py 2011-02-25 00:12:01 +0000
+++ b/bzrlib/revisionspec.py 2011-03-03 12:50:21 +0000
@@ -15,27 +15,25 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
-import re
-
from bzrlib.lazy_import import lazy_import
lazy_import(globals(), """
import bisect
import datetime
from bzrlib import (
- workingtree,
- )
-""")
-
-from bzrlib import (
branch as _mod_branch,
- errors,
osutils,
- registry,
revision,
symbol_versioning,
+ workingtree,
+ )
+""")
+
+from bzrlib import (
+ errors,
+ lazy_regex,
+ registry,
trace,
- workingtree,
)
@@ -119,9 +117,6 @@
return RevisionInfo(branch, revno, revision_id)
-_revno_regex = None
-
-
class RevisionSpec(object):
"""A parsed revision specification."""
@@ -303,6 +298,8 @@
# each revspec we try.
wants_revision_history = False
+ _revno_regex = lazy_regex.lazy_compile(r'^(?:(\d+(\.\d+)*)|-\d+)(:.*)?$')
+
# The revspecs to try
_possible_revspecs = []
@@ -316,10 +313,7 @@
"""Run the lookup and see what we can get."""
# First, see if it's a revno
- global _revno_regex
- if _revno_regex is None:
- _revno_regex = re.compile(r'^(?:(\d+(\.\d+)*)|-\d+)(:.*)?$')
- if _revno_regex.match(self.spec) is not None:
+ if self._revno_regex.match(self.spec) is not None:
try:
return self._try_spectype(RevisionSpec_revno, branch)
except RevisionSpec_revno.dwim_catchable_exceptions:
@@ -691,7 +685,7 @@
August 14th, 2006 at 5:10pm.
"""
prefix = 'date:'
- _date_re = re.compile(
+ _date_regex = lazy_regex.lazy_compile(
r'(?P<date>(?P<year>\d\d\d\d)-(?P<month>\d\d)-(?P<day>\d\d))?'
r'(,|T)?\s*'
r'(?P<time>(?P<hour>\d\d):(?P<minute>\d\d)(:(?P<second>\d\d))?)?'
@@ -715,7 +709,7 @@
elif self.spec.lower() == 'tomorrow':
dt = today + datetime.timedelta(days=1)
else:
- m = self._date_re.match(self.spec)
+ m = self._date_regex.match(self.spec)
if not m or (not m.group('date') and not m.group('time')):
raise errors.InvalidRevisionSpec(self.user_spec,
branch, 'invalid date')
More information about the bazaar-commits
mailing list