~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/reconcile.py

Trivial change to reconcile to mutter the cause of reconciliation to bzr.log

Show diffs side-by-side

added added

removed removed

Lines of Context:
119
119
        for rev_id in self.pending:
120
120
            # put a revision into the graph.
121
121
            self._graph_revision(rev_id)
122
 
        # we gc unreferenced inventories too
123
 
        self.garbage_inventories = len(self.inventory.names()) \
124
 
                                   - len(self._rev_graph)
125
 
 
 
122
        self._check_garbage_inventories()
126
123
        if not self.inconsistent_parents and not self.garbage_inventories:
127
124
            self.pb.note('Inventory ok.')
128
125
            return
178
175
        self._rev_graph[rev_id] = parents   
179
176
        if set(self.inventory.parent_names(rev_id)) != set(parents):
180
177
            self.inconsistent_parents += 1
 
178
            mutter('Inconsistent inventory parents: id {%s} '
 
179
                   'inventory claims %r, '
 
180
                   'available parents are %r, '
 
181
                   'unavailable parents are %r',
 
182
                   rev_id, 
 
183
                   set(self.inventory.parent_names(rev_id)),
 
184
                   set(parents),
 
185
                   set(rev.parent_ids).difference(set(parents)))
 
186
 
 
187
    def _check_garbage_inventories(self):
 
188
        """Check for garbage inventories which we cannot trust
 
189
 
 
190
        We cant trust them because their pre-requisite file data may not
 
191
        be present - all we know is that their revision was not installed.
 
192
        """
 
193
        inventories = set(self.inventory.names())
 
194
        revisions = set(self._rev_graph.keys())
 
195
        garbage = inventories.difference(revisions)
 
196
        self.garbage_inventories = len(garbage)
 
197
        for revision_id in garbage:
 
198
            mutter('Garbage inventory {%s} found.', revision_id)
181
199
 
182
200
    def _parent_is_available(self, parent):
183
201
        """True if parent is a fully available revision