code: def _full_diff(merge_result, key, context_lines=3):
      
      header_printed = False
      for group in _split_diff(merge_result, context_lines=context_lines):
          if not header_printed:
              header_printed = True
              yield color.Header('diff a/%s b/%s' % (key, key))
              yield color.DeletedHeader('--- %s' % key)
              yield color.AddedHeader('+++ %s' % key)
  
          for l in _diff_group(group):
              yield l
docs: Generate a full diff based on a Weave merge result