mercurial/patch.py
changeset 23432 27af986a332b
parent 23431 10223d2278f4
child 23433 41dd76b3facb
equal deleted inserted replaced
23431:10223d2278f4 23432:27af986a332b
  1562     '''return diffopts with all features supported and parsed'''
  1562     '''return diffopts with all features supported and parsed'''
  1563     return difffeatureopts(ui, opts=opts, untrusted=untrusted, section=section)
  1563     return difffeatureopts(ui, opts=opts, untrusted=untrusted, section=section)
  1564 
  1564 
  1565 diffopts = diffallopts
  1565 diffopts = diffallopts
  1566 
  1566 
  1567 def difffeatureopts(ui, opts=None, untrusted=False, section='diff'):
  1567 def difffeatureopts(ui, opts=None, untrusted=False, section='diff', git=False):
  1568     '''return diffopts with only opted-in features parsed'''
  1568     '''return diffopts with only opted-in features parsed
       
  1569 
       
  1570     Features:
       
  1571     - git: git-style diffs
       
  1572     '''
  1569     def get(key, name=None, getter=ui.configbool, forceplain=None):
  1573     def get(key, name=None, getter=ui.configbool, forceplain=None):
  1570         if opts:
  1574         if opts:
  1571             v = opts.get(key)
  1575             v = opts.get(key)
  1572             if v:
  1576             if v:
  1573                 return v
  1577                 return v
  1575             return forceplain
  1579             return forceplain
  1576         return getter(section, name or key, None, untrusted=untrusted)
  1580         return getter(section, name or key, None, untrusted=untrusted)
  1577 
  1581 
  1578     buildopts = {
  1582     buildopts = {
  1579         'text': opts and opts.get('text'),
  1583         'text': opts and opts.get('text'),
  1580         'git': get('git'),
       
  1581         'nodates': get('nodates'),
  1584         'nodates': get('nodates'),
  1582         'nobinary': get('nobinary'),
  1585         'nobinary': get('nobinary'),
  1583         'noprefix': get('noprefix', forceplain=False),
  1586         'noprefix': get('noprefix', forceplain=False),
  1584         'showfunc': get('show_function', 'showfunc'),
  1587         'showfunc': get('show_function', 'showfunc'),
  1585         'ignorews': get('ignore_all_space', 'ignorews'),
  1588         'ignorews': get('ignore_all_space', 'ignorews'),
  1586         'ignorewsamount': get('ignore_space_change', 'ignorewsamount'),
  1589         'ignorewsamount': get('ignore_space_change', 'ignorewsamount'),
  1587         'ignoreblanklines': get('ignore_blank_lines', 'ignoreblanklines'),
  1590         'ignoreblanklines': get('ignore_blank_lines', 'ignoreblanklines'),
  1588         'context': get('unified', getter=ui.config),
  1591         'context': get('unified', getter=ui.config),
  1589     }
  1592     }
       
  1593 
       
  1594     if git:
       
  1595         buildopts['git'] = get('git')
  1590 
  1596 
  1591     return mdiff.diffopts(**buildopts)
  1597     return mdiff.diffopts(**buildopts)
  1592 
  1598 
  1593 def diff(repo, node1=None, node2=None, match=None, changes=None, opts=None,
  1599 def diff(repo, node1=None, node2=None, match=None, changes=None, opts=None,
  1594          losedatafn=None, prefix=''):
  1600          losedatafn=None, prefix=''):