~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/reconcile.py

  • Committer: Alexander Belchenko
  • Date: 2007-10-04 05:50:44 UTC
  • mfrom: (2881 +trunk)
  • mto: This revision was merged to the branch mainline in revision 2884.
  • Revision ID: bialix@ukr.net-20071004055044-pb88kgkfayawro8n
merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
"""Reconcilers are able to fix some potential data errors in a branch."""
18
18
 
19
19
 
20
 
__all__ = ['reconcile', 'Reconciler', 'RepoReconciler', 'KnitReconciler']
 
20
__all__ = [
 
21
    'KnitReconciler',
 
22
    'reconcile',
 
23
    'Reconciler',
 
24
    'RepoReconciler',
 
25
    ]
21
26
 
22
27
 
23
28
from bzrlib import ui
77
82
class RepoReconciler(object):
78
83
    """Reconciler that reconciles a repository.
79
84
 
 
85
    The goal of repository reconciliation is to make any derived data
 
86
    consistent with the core data committed by a user. This can involve 
 
87
    reindexing, or removing unreferenced data if that can interfere with
 
88
    queries in a given repository.
 
89
 
80
90
    Currently this consists of an inventory reweave with revision cross-checks.
81
91
    """
82
92
 
267
277
class KnitReconciler(RepoReconciler):
268
278
    """Reconciler that reconciles a knit format repository.
269
279
 
270
 
    This will detect garbage inventories and remove them.
271
 
 
272
 
    Inconsistent parentage is checked for in the revision weave.
 
280
    This will detect garbage inventories and remove them in thorough mode.
273
281
    """
274
282
 
275
283
    def _reconcile_steps(self):