/loggerhead/trunk

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/loggerhead/trunk

« back to all changes in this revision

Viewing changes to loggerhead/history.py

  • Committer: Jelmer Vernooij
  • Date: 2017-12-23 13:55:15 UTC
  • mto: (491.6.1 breezy)
  • mto: This revision was merged to the branch mainline in revision 494.
  • Revision ID: jelmer@jelmer.uk-20171223135515-l93hkvf3quuu87kd
Fix compatibility with non-inventory trees.

Show diffs side-by-side

added added

removed removed

Lines of Context:
108
108
 
109
109
class FileChangeReporter(object):
110
110
 
111
 
    def __init__(self, old_inv, new_inv):
 
111
    def __init__(self, old_tree, new_tree):
112
112
        self.added = []
113
113
        self.modified = []
114
114
        self.renamed = []
115
115
        self.removed = []
116
116
        self.text_changes = []
117
 
        self.old_inv = old_inv
118
 
        self.new_inv = new_inv
 
117
        self.old_tree = old_tree
 
118
        self.new_tree = new_tree
119
119
 
120
 
    def revid(self, inv, file_id):
 
120
    def revid(self, tree, file_id):
121
121
        try:
122
 
            return inv[file_id].revision
 
122
            path = tree.id2path(file_id)
 
123
            return tree.get_file_revision(path, file_id)
123
124
        except breezy.errors.NoSuchId:
124
125
            return 'null:'
125
126
 
132
133
                filename = rich_filename(paths[1], kind[1])
133
134
            self.text_changes.append(util.Container(
134
135
                filename=filename, file_id=file_id,
135
 
                old_revision=self.revid(self.old_inv, file_id),
136
 
                new_revision=self.revid(self.new_inv, file_id)))
 
136
                old_revision=self.revid(self.old_tree, file_id),
 
137
                new_revision=self.revid(self.new_tree, file_id)))
137
138
        if versioned == 'added':
138
139
            self.added.append(util.Container(
139
140
                filename=rich_filename(paths[1], kind), kind=kind[1]))
783
784
        else:
784
785
            old_tree, new_tree = repo.revision_trees([old_revid, new_revid])
785
786
 
786
 
        reporter = FileChangeReporter(old_tree.inventory, new_tree.inventory)
 
787
        reporter = FileChangeReporter(old_tree, new_tree)
787
788
 
788
789
        breezy.delta.report_changes(new_tree.iter_changes(old_tree), reporter)
789
790