--- a/mercurial/commands.py
+++ b/mercurial/commands.py
@@ -2563,7 +2563,10 @@ def _lookup(repo, node, branch=None):
node = repo.lookup(node)
else:
wc = repo.workingctx()
- node = repo.branchtags()[wc.branch()]
+ try:
+ node = repo.branchtags()[wc.branch()]
+ except KeyError:
+ raise util.Abort(_("branch %s not found") % wc.branch())
return node
def verify(ui, repo):
--- a/tests/test-newbranch
+++ b/tests/test-newbranch
@@ -46,3 +46,7 @@ hg id
hg up -q 1
hg up -q
hg id
+hg branch foobar
+hg up
+
+exit 0
--- a/tests/test-newbranch.out
+++ b/tests/test-newbranch.out
@@ -81,3 +81,4 @@ 67ec16bde7f1575d523313b9bca000f6a6f12dca
% update with no arguments: tipmost revision of the current branch
bf1bc2f45e83
4909a3732169 (foo) tip
+abort: branch foobar not found