Fixed bug that was thowing a KeyError when including "{bookmark}" in the output.
This resolves issue #17 (Bookmarks have moved into core for 1.8) on https://bitbucket.org/sjl/hg-prompt/.
The end of the stack track was....
-----------------------------
File "/Users/dak180/Applications/Build/hgExtensions/hg-prompt/prompt.py", line 101, in _bookmark
book = extensions.find('bookmarks').current(repo)
File "/sw/lib/python2.6/site-packages/mercurial/extensions.py", line 30, in find
raise KeyError(name)
KeyError: 'bookmarks'
-----------------------------
I personally was getting this error on mercurial versions 1.8.1 and 1.6.3 (although I am not exactly sure why I got it on 1.6.3).
author |
Shaun Ek <shaune@providentmetals.com> |
date |
Wed, 23 Mar 2011 15:42:04 -0400 |
parents |
705378546da2 |
children |
869146b8b9fb |
"""Utilities for writing unit tests for hg-prompt."""
import os, shutil, sys
from mercurial import cmdutil, commands, hg, ui
pkg_path = os.path.realpath(__file__)
sys.path =[os.path.split(os.path.split(pkg_path)[0])[0]] + sys.path
from prompt import prompt as _prompt
_ui = ui.ui()
def prompt(fs=''):
_ui.pushbuffer()
_prompt(_ui, get_sandbox_repo(), fs=fs)
output = _ui.popbuffer()
print output
return output
sandbox_path = os.path.join(os.path.realpath('.'), 'sandbox')
def setup_sandbox():
os.mkdir(sandbox_path)
os.chdir(sandbox_path)
commands.init(_ui)
def teardown_sandbox():
os.chdir(os.path.realpath(os.path.join(sandbox_path, os.pardir)))
shutil.rmtree(sandbox_path)
def get_sandbox_repo():
return hg.repository(_ui, sandbox_path)
def get_sandbox_ui():
return _ui
# Mercurial command wrappers
def hg_branch(branch='test'):
commands.branch(_ui, get_sandbox_repo(), branch)
def hg_update(rev):
opts = { 'rev': str(rev), }
commands.update(_ui, get_sandbox_repo(), **opts)
def hg_merge(rev):
opts = { 'rev': str(rev) }
commands.merge(_ui, get_sandbox_repo(), **opts)
def hg_commit(filename='text.txt'):
with open(os.path.join(sandbox_path, filename), 'a') as test_file:
test_file.writelines(['test', '.'])
opts = { 'addremove': True, 'date': None, 'user': 'Prompt Tester',
'logfile': None, 'message': "Sandbox commit." }
commands.commit(get_sandbox_ui(), get_sandbox_repo(), **opts)
def hg_log():
opts = { 'template': '{rev} {desc}\n', 'rev': None, 'date': None, 'user': None }
_ui.pushbuffer()
commands.log(_ui, get_sandbox_repo(), **opts)
output = _ui.popbuffer()
return output