diff --git a/mercurial/commands.py b/mercurial/commands.py --- a/mercurial/commands.py +++ b/mercurial/commands.py @@ -293,7 +293,10 @@ # to mimic the behavior of Mercurial before version 1.5 opts['file'] = True - ctx = scmutil.revsingle(repo, opts.get('rev')) + rev = opts.get('rev') + if rev: + repo = scmutil.unhidehashlikerevs(repo, [rev], 'nowarn') + ctx = scmutil.revsingle(repo, rev) rootfm = ui.formatter('annotate', opts) if ui.quiet: diff --git a/tests/test-directaccess.t b/tests/test-directaccess.t --- a/tests/test-directaccess.t +++ b/tests/test-directaccess.t @@ -138,6 +138,11 @@ $ hg identify -r 28ad74 28ad74487de9 +`hg annotate` + + $ hg annotate -r 28ad74 a + 0: foo + `hg status` $ hg status --change 28ad74