~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/diff.py

  • Committer: Martin Pool
  • Date: 2005-06-27 01:26:11 UTC
  • Revision ID: mbp@sourcefrog.net-20050627012611-4effb7007553fde1
- tweak rsync upload script

Show diffs side-by-side

added added

removed removed

Lines of Context:
42
42
    if not oldlines and not newlines:
43
43
        return
44
44
 
 
45
    nonl = False
 
46
 
 
47
    if oldlines and (oldlines[-1][-1] != '\n'):
 
48
        oldlines[-1] += '\n'
 
49
        nonl = True
 
50
    if newlines and (newlines[-1][-1] != '\n'):
 
51
        newlines[-1] += '\n'
 
52
        nonl = True
 
53
 
45
54
    ud = difflib.unified_diff(oldlines, newlines,
46
55
                              fromfile=old_label, tofile=new_label)
47
56
 
54
63
        ud = list(ud)
55
64
        ud[2] = ud[2].replace('+1,0', '+0,0')
56
65
 
57
 
    for line in ud:
58
 
        to_file.write(line)
59
 
        if not line.endswith('\n'):
60
 
            to_file.write("\n\\ No newline at end of file\n")
 
66
    to_file.writelines(ud)
 
67
    if nonl:
 
68
        print >>to_file, "\\ No newline at end of file"
61
69
    print >>to_file
62
70
 
63
71
 
380
388
 
381
389
    for file_id in old_tree:
382
390
        if file_id in new_tree:
383
 
            old_ie = old_inv[file_id]
384
 
            new_ie = new_inv[file_id]
385
 
 
386
 
            kind = old_ie.kind
387
 
            assert kind == new_ie.kind
 
391
            kind = old_inv.get_file_kind(file_id)
 
392
            assert kind == new_inv.get_file_kind(file_id)
388
393
            
389
394
            assert kind in ('file', 'directory', 'symlink', 'root_directory'), \
390
395
                   'invalid file kind %r' % kind
392
397
            if kind == 'root_directory':
393
398
                continue
394
399
            
 
400
            old_path = old_inv.id2path(file_id)
 
401
            new_path = new_inv.id2path(file_id)
 
402
 
 
403
            old_ie = old_inv[file_id]
 
404
            new_ie = new_inv[file_id]
 
405
 
395
406
            if specific_files:
396
 
                if (not is_inside_any(specific_files, old_inv.id2path(file_id)) 
397
 
                    and not is_inside_any(specific_files, new_inv.id2path(file_id))):
 
407
                if (not is_inside_any(specific_files, old_path) 
 
408
                    and not is_inside_any(specific_files, new_path)):
398
409
                    continue
399
410
 
400
411
            if kind == 'file':
412
423
            
413
424
            if (old_ie.name != new_ie.name
414
425
                or old_ie.parent_id != new_ie.parent_id):
415
 
                delta.renamed.append((old_inv.id2path(file_id),
416
 
                                      new_inv.id2path(file_id),
417
 
                                      file_id, kind,
 
426
                delta.renamed.append((old_path, new_path, file_id, kind,
418
427
                                      text_modified))
419
428
            elif text_modified:
420
 
                delta.modified.append((new_inv.id2path(file_id), file_id, kind))
 
429
                delta.modified.append((new_path, file_id, kind))
421
430
            elif want_unchanged:
422
 
                delta.unchanged.append((new_inv.id2path(file_id), file_id, kind))
 
431
                delta.unchanged.append((new_path, file_id, kind))
423
432
        else:
424
433
            kind = old_inv.get_file_kind(file_id)
425
434
            old_path = old_inv.id2path(file_id)