Commit a7049dc8 authored by's avatar
Browse files

Teach annotate about binary files

parent 22571b8d35d3
......@@ -71,8 +71,13 @@ annotate [-r <rev> -u -n -c] [files ...]::
This command is useful to discover who did a change or when a change took
Without the -a option, annotate will avoid processing files it
detects as binary. With -a, annotate will generate an annotation
anyway, probably with undesirable results.
-a, --text treat all files as text
-I, --include <pat> include names matching the given patterns
-X, --exclude <pat> exclude names matching the given patterns
-r, --revision <rev> annotate the specified revision
......@@ -433,12 +433,18 @@ def annotate(ui, repo, *pats, **opts):
node = repo.dirstate.parents()[0]
change =
mmap =[0])
for src, abs, rel, exact in walk(repo, pats, opts):
if abs not in mmap:
ui.warn("warning: %s is not in the repository!\n" % rel)
lines = repo.file(abs).annotate(mmap[abs])
f = repo.file(abs)
if not opts['text'] and util.binary([abs])):
ui.write("%s: binary file\n" % rel)
lines = f.annotate(mmap[abs])
pieces = []
for o, f in opmap:
......@@ -1285,6 +1291,7 @@ table = {
[('r', 'rev', '', 'revision'),
('a', 'text', None, 'treat all files as text'),
('u', 'user', None, 'show user'),
('n', 'number', None, 'show revision number'),
('c', 'changeset', None, 'show changeset'),
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment