/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/diff.py

  • Committer: Aaron Bentley
  • Date: 2005-11-11 17:46:11 UTC
  • mto: (1185.65.2 bzr.revision-storage)
  • mto: This revision was merged to the branch mainline in revision 1509.
  • Revision ID: aaron.bentley@utoronto.ca-20051111174611-05c622f83aca3d78
Support whitespace in diff filenames

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
# invoke callbacks on an object.  That object can either accumulate a
23
23
# list, write them out directly, etc etc.
24
24
 
25
 
def internal_diff(old_label, oldlines, new_label, newlines, to_file):
 
25
def internal_diff(old_filename, oldlines, new_filename, newlines, to_file):
26
26
    import difflib
27
27
    
28
28
    # FIXME: difflib is wrong if there is no trailing newline.
42
42
        return
43
43
 
44
44
    ud = difflib.unified_diff(oldlines, newlines,
45
 
                              fromfile=old_label, tofile=new_label)
 
45
                              fromfile=old_filename+'\t', 
 
46
                              tofile=new_filename+'\t')
46
47
 
47
48
    ud = list(ud)
48
49
    # work-around for difflib being too smart for its own good
62
63
    print >>to_file
63
64
 
64
65
 
65
 
def external_diff(old_label, oldlines, new_label, newlines, to_file,
 
66
def external_diff(old_filename, oldlines, new_filename, newlines, to_file,
66
67
                  diff_opts):
67
68
    """Display a diff by calling out to the external diff program."""
68
69
    import sys
97
98
        if not diff_opts:
98
99
            diff_opts = []
99
100
        diffcmd = ['diff',
100
 
                   '--label', old_label,
 
101
                   '--label', old_filename+'\t',
101
102
                   oldtmpf.name,
102
 
                   '--label', new_label,
 
103
                   '--label', new_filename+'\t',
103
104
                   newtmpf.name]
104
105
 
105
106
        # diff only allows one style to be specified; they don't override.