コード例 #1
0
 def run(self):
     """Perform the unshelving operation."""
     self.tree.lock_tree_write()
     cleanups = [self.tree.unlock]
     try:
         if self.read_shelf:
             trace.note(gettext('Using changes with id "%d".') % self.shelf_id)
             unshelver = self.manager.get_unshelver(self.shelf_id)
             cleanups.append(unshelver.finalize)
             if unshelver.message is not None:
                 trace.note(gettext('Message: %s') % unshelver.message)
             change_reporter = delta._ChangeReporter()
             merger = unshelver.make_merger(None)
             merger.change_reporter = change_reporter
             if self.apply_changes:
                 merger.do_merge()
             elif self.show_diff:
                 self.write_diff(merger)
             else:
                 self.show_changes(merger)
         if self.delete_shelf:
             self.manager.delete_shelf(self.shelf_id)
             trace.note(gettext('Deleted changes with id "%d".') % self.shelf_id)
     finally:
         for cleanup in reversed(cleanups):
             cleanup()
コード例 #2
0
 def run(self):
     """Perform the unshelving operation."""
     self.tree.lock_tree_write()
     cleanups = [self.tree.unlock]
     try:
         if self.read_shelf:
             trace.note(
                 gettext('Using changes with id "%d".') % self.shelf_id)
             unshelver = self.manager.get_unshelver(self.shelf_id)
             cleanups.append(unshelver.finalize)
             if unshelver.message is not None:
                 trace.note(gettext('Message: %s') % unshelver.message)
             change_reporter = delta._ChangeReporter()
             merger = unshelver.make_merger(None)
             merger.change_reporter = change_reporter
             if self.apply_changes:
                 merger.do_merge()
             elif self.show_diff:
                 self.write_diff(merger)
             else:
                 self.show_changes(merger)
         if self.delete_shelf:
             self.manager.delete_shelf(self.shelf_id)
             trace.note(
                 gettext('Deleted changes with id "%d".') % self.shelf_id)
     finally:
         for cleanup in reversed(cleanups):
             cleanup()
コード例 #3
0
 def _update_working_trees(self, trees):
     if self.verbose:
         reporter = delta._ChangeReporter()
     else:
         reporter = None
     for wt in trees:
         self.note("Updating the working tree for %s ...", wt.basedir)
         wt.update(reporter)
         self._tree_count += 1
コード例 #4
0
 def assertReportLines(self, expected_lines, file_id='fid', path='path',
                  versioned_change='unchanged', renamed=False,
                  modified='unchanged', exe_change=False,
                  kind=('file', 'file'), old_path=None,
                  unversioned_filter=None, view_info=None):
     result = []
     def result_line(format, *args):
         result.append(format % args)
     reporter = _mod_delta._ChangeReporter(result_line,
         unversioned_filter=unversioned_filter, view_info=view_info)
     reporter.report(file_id, (old_path, path), versioned_change, renamed,
         modified, exe_change, kind)
     if expected_lines is not None:
         self.assertEqualDiff('\n'.join(expected_lines), '\n'.join(result))
     else:
         self.assertEqual([], result)
コード例 #5
0
ファイル: test_delta.py プロジェクト: Distrotech/bzr
 def assertReportLines(self, expected_lines, file_id='fid', path='path',
                  versioned_change='unchanged', renamed=False,
                  modified='unchanged', exe_change=False,
                  kind=('file', 'file'), old_path=None,
                  unversioned_filter=None, view_info=None):
     result = []
     def result_line(format, *args):
         result.append(format % args)
     reporter = _mod_delta._ChangeReporter(result_line,
         unversioned_filter=unversioned_filter, view_info=view_info)
     reporter.report(file_id, (old_path, path), versioned_change, renamed,
         modified, exe_change, kind)
     if expected_lines is not None:
         self.assertEqualDiff('\n'.join(expected_lines), '\n'.join(result))
     else:
         self.assertEqual([], result)
コード例 #6
0
         except errors.NoSuchRevision, e:
             raise errors.BzrCommandError(str(e))
     else:
         new = wt
 old.lock_read()
 new.lock_read()
 try:
     _raise_if_nonexistent(specific_files, old, new)
     want_unversioned = not versioned
     if short:
         changes = new.iter_changes(old,
                                    show_unchanged,
                                    specific_files,
                                    require_versioned=False,
                                    want_unversioned=want_unversioned)
         reporter = _mod_delta._ChangeReporter(
             output_file=to_file, unversioned_filter=new.is_ignored)
         _mod_delta.report_changes(changes, reporter)
     else:
         delta = new.changes_from(old,
                                  want_unchanged=show_unchanged,
                                  specific_files=specific_files,
                                  want_unversioned=want_unversioned)
         # filter out unknown files. We may want a tree method for
         # this
         delta.unversioned = [
             unversioned for unversioned in delta.unversioned
             if not new.is_ignored(unversioned[0])
         ]
         delta.show(to_file,
                    show_ids=show_ids,
                    show_unchanged=show_unchanged,
コード例 #7
0
 def __init__(self):
     self.delta_reporter = delta._ChangeReporter()
コード例 #8
0
 def __init__(self):
     self.delta_reporter = delta._ChangeReporter()
コード例 #9
0
ファイル: status.py プロジェクト: ArslanRafique/dist-packages
                    raise errors.BzrCommandError(str(e))
            else:
                new = wt
        old.lock_read()
        new.lock_read()
        try:
            for hook in hooks['pre_status']:
                hook(StatusHookParams(old, new, to_file, versioned,
                    show_ids, short, verbose, specific_files=specific_files))

            specific_files, nonexistents \
                = _filter_nonexistent(specific_files, old, new)
            want_unversioned = not versioned

            # Reporter used for short outputs
            reporter = _mod_delta._ChangeReporter(output_file=to_file,
                unversioned_filter=new.is_ignored, classify=classify)
            report_changes(to_file, old, new, specific_files, 
                           reporter, show_long_callback, 
                           short=short, want_unchanged=show_unchanged, 
                           want_unversioned=want_unversioned, show_ids=show_ids,
                           classify=classify)

            # show the ignored files among specific files (i.e. show the files
            # identified from input that we choose to ignore). 
            if specific_files is not None:
                # Ignored files is sorted because specific_files is already sorted
                ignored_files = [specific for specific in
                    specific_files if new.is_ignored(specific)]
                if len(ignored_files) > 0 and not short:
                    to_file.write("ignored:\n")
                    prefix = ' '