equal
deleted
inserted
replaced
11 from mercurial import branchmap |
11 from mercurial import branchmap |
12 from mercurial import revset |
12 from mercurial import revset |
13 from mercurial import error |
13 from mercurial import error |
14 from mercurial import commands |
14 from mercurial import commands |
15 from mercurial import hg |
15 from mercurial import hg |
|
16 from mercurial import util |
16 from mercurial.i18n import _ |
17 from mercurial.i18n import _ |
17 |
18 |
18 cmdtable = {} |
19 cmdtable = {} |
19 command = cmdutil.command(cmdtable) |
20 command = cmdutil.command(cmdtable) |
20 |
21 |
124 def extsetup(ui): |
125 def extsetup(ui): |
125 extensions.wrapfunction(revset, 'posttreebuilthook', _posttreebuilthook) |
126 extensions.wrapfunction(revset, 'posttreebuilthook', _posttreebuilthook) |
126 extensions.wrapfunction(hg, 'repository', _repository) |
127 extensions.wrapfunction(hg, 'repository', _repository) |
127 setupdirectaccess() |
128 setupdirectaccess() |
128 |
129 |
|
130 hashre = util.re.compile('[0-9a-fA-F]{1,40}') |
|
131 |
129 def gethashsymbols(tree): |
132 def gethashsymbols(tree): |
130 # Returns the list of symbols of the tree that look like hashes |
133 # Returns the list of symbols of the tree that look like hashes |
131 # for example for the revset 3::abe3ff it will return ('abe3ff') |
134 # for example for the revset 3::abe3ff it will return ('abe3ff') |
132 if not tree: |
135 if not tree: |
133 return [] |
136 return [] |
135 if len(tree) == 2 and tree[0] == "symbol": |
138 if len(tree) == 2 and tree[0] == "symbol": |
136 try: |
139 try: |
137 int(tree[1]) |
140 int(tree[1]) |
138 return [] |
141 return [] |
139 except ValueError as e: |
142 except ValueError as e: |
140 return [tree[1]] |
143 if hashre.match(tree[1]): |
|
144 return [tree[1]] |
|
145 return [] |
141 elif len(tree) == 3: |
146 elif len(tree) == 3: |
142 return gethashsymbols(tree[1]) + gethashsymbols(tree[2]) |
147 return gethashsymbols(tree[1]) + gethashsymbols(tree[2]) |
143 else: |
148 else: |
144 return [] |
149 return [] |
145 |
150 |