mercurial/commands.py
changeset 13920 332e400764e5
parent 13911 6bc340940c18
child 13950 14d0553bd48b
equal deleted inserted replaced
13919:67f20625703f 13920:332e400764e5
  1869     def display(fn, ctx, pstates, states):
  1869     def display(fn, ctx, pstates, states):
  1870         rev = ctx.rev()
  1870         rev = ctx.rev()
  1871         datefunc = ui.quiet and util.shortdate or util.datestr
  1871         datefunc = ui.quiet and util.shortdate or util.datestr
  1872         found = False
  1872         found = False
  1873         filerevmatches = {}
  1873         filerevmatches = {}
       
  1874         def binary():
       
  1875             flog = getfile(fn)
       
  1876             return util.binary(flog.read(ctx.filenode(fn)))
       
  1877 
  1874         if opts.get('all'):
  1878         if opts.get('all'):
  1875             iter = difflinestates(pstates, states)
  1879             iter = difflinestates(pstates, states)
  1876         else:
  1880         else:
  1877             iter = [('', l) for l in states]
  1881             iter = [('', l) for l in states]
  1878         for change, l in iter:
  1882         for change, l in iter:
  1895                 before = l.line[:l.colstart]
  1899                 before = l.line[:l.colstart]
  1896                 match = l.line[l.colstart:l.colend]
  1900                 match = l.line[l.colstart:l.colend]
  1897                 after = l.line[l.colend:]
  1901                 after = l.line[l.colend:]
  1898             ui.write(sep.join(cols))
  1902             ui.write(sep.join(cols))
  1899             if before is not None:
  1903             if before is not None:
  1900                 ui.write(sep + before)
  1904                 if not opts.get('text') and binary():
  1901                 ui.write(match, label='grep.match')
  1905                     ui.write(sep + " Binary file matches")
  1902                 ui.write(after)
  1906                 else:
       
  1907                     ui.write(sep + before)
       
  1908                     ui.write(match, label='grep.match')
       
  1909                     ui.write(after)
  1903             ui.write(eol)
  1910             ui.write(eol)
  1904             found = True
  1911             found = True
  1905         return found
  1912         return found
  1906 
  1913 
  1907     skip = {}
  1914     skip = {}
  4565          _('[OPTION]... FILE...')),
  4572          _('[OPTION]... FILE...')),
  4566     "grep":
  4573     "grep":
  4567         (grep,
  4574         (grep,
  4568          [('0', 'print0', None, _('end fields with NUL')),
  4575          [('0', 'print0', None, _('end fields with NUL')),
  4569           ('', 'all', None, _('print all revisions that match')),
  4576           ('', 'all', None, _('print all revisions that match')),
       
  4577           ('a', 'text', None, _('treat all files as text')),
  4570           ('f', 'follow', None,
  4578           ('f', 'follow', None,
  4571            _('follow changeset history,'
  4579            _('follow changeset history,'
  4572              ' or file history across copies and renames')),
  4580              ' or file history across copies and renames')),
  4573           ('i', 'ignore-case', None, _('ignore case when matching')),
  4581           ('i', 'ignore-case', None, _('ignore case when matching')),
  4574           ('l', 'files-with-matches', None,
  4582           ('l', 'files-with-matches', None,