~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/patches.py

Merge bzr.dev.

Show diffs side-by-side

added added

removed removed

Lines of Context:
316
316
 
317
317
def iter_file_patch(iter_lines):
318
318
    saved_lines = []
 
319
    orig_range = 0
319
320
    for line in iter_lines:
320
321
        if line.startswith('=== ') or line.startswith('*** '):
321
322
            continue
322
323
        if line.startswith('#'):
323
324
            continue
 
325
        elif orig_range > 0:
 
326
            if line.startswith('-') or line.startswith(' '):
 
327
                orig_range -= 1
324
328
        elif line.startswith('--- '):
325
329
            if len(saved_lines) > 0:
326
330
                yield saved_lines
327
331
            saved_lines = []
 
332
        elif line.startswith('@@'):
 
333
            hunk = hunk_from_header(line)
 
334
            orig_range = hunk.orig_range
328
335
        saved_lines.append(line)
329
336
    if len(saved_lines) > 0:
330
337
        yield saved_lines