/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to diff.py

  • Committer: David Planella
  • Date: 2010-08-21 09:32:13 UTC
  • mto: This revision was merged to the branch mainline in revision 719.
  • Revision ID: david.planella@ubuntu.com-20100821093213-njpqd5sploa8n71m
Adapted desktop entries for translation

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
import os
18
18
import re
19
19
import sys
 
20
import inspect
20
21
try:
21
22
    from xml.etree.ElementTree import Element, SubElement, tostring
22
23
except ImportError:
34
35
    have_gconf = False
35
36
 
36
37
from bzrlib import (
 
38
    errors,
37
39
    merge as _mod_merge,
38
40
    osutils,
39
 
    progress,
40
41
    urlutils,
41
42
    workingtree,
42
43
)
43
44
from bzrlib.diff import show_diff_trees, internal_diff
44
 
from bzrlib.errors import NoSuchFile
45
45
from bzrlib.patches import parse_patches
46
46
from bzrlib.trace import warning
47
47
from bzrlib.plugins.gtk import _i18n
376
376
                    tv_path = child.path
377
377
                    break
378
378
        if tv_path is None:
379
 
            raise NoSuchFile(file_path)
 
379
            raise errors.NoSuchFile(file_path)
380
380
        self.treeview.set_cursor(tv_path)
381
381
        self.treeview.scroll_to_cell(tv_path)
382
382
 
525
525
 
526
526
class DiffController(object):
527
527
 
528
 
    def __init__(self, path, patch, window=None):
 
528
    def __init__(self, path, patch, window=None, allow_dirty=False):
529
529
        self.path = path
530
530
        self.patch = patch
 
531
        self.allow_dirty = allow_dirty
531
532
        if window is None:
532
533
            window = DiffWindow(operations=self._provide_operations())
533
534
            self.initialize_window(window)
539
540
 
540
541
    def get_diff_sections(self):
541
542
        yield "Complete Diff", None, ''.join(self.patch)
542
 
        for patch in parse_patches(self.patch):
 
543
        # allow_dirty was added to parse_patches in bzrlib 2.2b1
 
544
        if 'allow_dirty' in inspect.getargspec(parse_patches).args:
 
545
            patches = parse_patches(self.patch, allow_dirty=self.allow_dirty)
 
546
        else:
 
547
            patches = parse_patches(self.patch)
 
548
        for patch in patches:
543
549
            oldname = patch.oldname.split('\t')[0]
544
550
            newname = patch.newname.split('\t')[0]
545
551
            yield oldname, newname, str(patch)
584
590
        tree.lock_write()
585
591
        try:
586
592
            try:
587
 
                merger, verified = _mod_merge.Merger.from_mergeable(tree,
588
 
                    self.directive, progress.DummyProgress())
589
 
                merger.check_basis(True)
 
593
                if tree.has_changes():
 
594
                    raise errors.UncommittedChanges(tree)
 
595
                merger, verified = _mod_merge.Merger.from_mergeable(
 
596
                    tree, self.directive, pb=None)
590
597
                merger.merge_type = _mod_merge.Merge3Merger
591
598
                conflict_count = merger.do_merge()
592
599
                merger.set_pending()