Show More
@@ -450,7 +450,7 b' class changectx(basectx):' | |||||
450 | except KeyError: |
|
450 | except KeyError: | |
451 | pass |
|
451 | pass | |
452 |
|
452 | |||
453 |
self._node = repo |
|
453 | self._node = scmutil.resolvepartialhexnodeid(repo, changeid) | |
454 | if self._node is not None: |
|
454 | if self._node is not None: | |
455 | self._rev = repo.changelog.rev(self._node) |
|
455 | self._rev = repo.changelog.rev(self._node) | |
456 | return |
|
456 | return |
@@ -433,6 +433,15 b' def formatrevnode(ui, rev, node):' | |||||
433 | hexfunc = short |
|
433 | hexfunc = short | |
434 | return '%d:%s' % (rev, hexfunc(node)) |
|
434 | return '%d:%s' % (rev, hexfunc(node)) | |
435 |
|
435 | |||
|
436 | def resolvepartialhexnodeid(repo, prefix): | |||
|
437 | # Uses unfiltered repo because it's faster when then prefix is ambiguous/ | |||
|
438 | # This matches the "shortest" template function. | |||
|
439 | node = repo.unfiltered().changelog._partialmatch(prefix) | |||
|
440 | if node is None: | |||
|
441 | return | |||
|
442 | repo.changelog.rev(node) # make sure node isn't filtered | |||
|
443 | return node | |||
|
444 | ||||
436 | def isrevsymbol(repo, symbol): |
|
445 | def isrevsymbol(repo, symbol): | |
437 | try: |
|
446 | try: | |
438 | revsymbol(repo, symbol) |
|
447 | revsymbol(repo, symbol) |
General Comments 0
You need to be logged in to leave comments.
Login now