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()
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()
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
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)
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,
def __init__(self): self.delta_reporter = delta._ChangeReporter()
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 = ' '