/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to bzrlib/info.py

  • Committer: Vincent Ladeuil
  • Date: 2012-01-18 14:09:19 UTC
  • mto: This revision was merged to the branch mainline in revision 6468.
  • Revision ID: v.ladeuil+lp@free.fr-20120118140919-rlvdrhpc0nq1lbwi
Change set/remove to require a lock for the branch config files.

This means that tests (or any plugin for that matter) do not requires an
explicit lock on the branch anymore to change a single option. This also
means the optimisation becomes "opt-in" and as such won't be as
spectacular as it may be and/or harder to get right (nothing fails
anymore).

This reduces the diff by ~300 lines.

Code/tests that were updating more than one config option is still taking
a lock to at least avoid some IOs and demonstrate the benefits through
the decreased number of hpss calls.

The duplication between BranchStack and BranchOnlyStack will be removed
once the same sharing is in place for local config files, at which point
the Stack class itself may be able to host the changes.

Show diffs side-by-side

added added

removed removed

Lines of Context:
200
200
            repository._format.get_format_description())
201
201
 
202
202
 
203
 
def _show_locking_info(repository=None, branch=None, working=None,
204
 
        outfile=None):
 
203
def _show_locking_info(repository, branch=None, working=None, outfile=None):
205
204
    """Show locking status of working, branch and repository."""
206
 
    if (repository and repository.get_physical_lock_status() or
 
205
    if (repository.get_physical_lock_status() or
207
206
        (branch and branch.get_physical_lock_status()) or
208
207
        (working and working.get_physical_lock_status())):
209
208
        outfile.write('\n')
353
352
    except (NoWorkingTree, NotLocalUrl, NotBranchError):
354
353
        tree = None
355
354
        try:
356
 
            branch = a_bzrdir.open_branch(name="")
 
355
            branch = a_bzrdir.open_branch()
357
356
        except NotBranchError:
358
357
            branch = None
359
358
            try:
414
413
    if branch is not None:
415
414
        show_committers = verbose >= 2
416
415
        stats = _show_branch_stats(branch, show_committers, outfile)
417
 
    elif repository is not None:
 
416
    else:
418
417
        stats = repository.gather_stats()
419
 
    if branch is None and working is None and repository is not None:
 
418
    if branch is None and working is None:
420
419
        _show_repository_info(repository, outfile)
421
 
    if repository is not None:
422
 
        _show_repository_stats(repository, stats, outfile)
 
420
    _show_repository_stats(repository, stats, outfile)
423
421
 
424
422
 
425
423
def describe_layout(repository=None, branch=None, tree=None, control=None):
444
442
            phrase = 'Shared repository'
445
443
        else:
446
444
            phrase = 'Unshared repository'
447
 
        extra = []
448
445
        if repository.make_working_trees():
449
 
            extra.append('trees')
450
 
        if len(control.get_branches()) > 0:
451
 
            extra.append('colocated branches')
452
 
        if extra:
453
 
            phrase += ' with ' + " and ".join(extra)
 
446
            phrase += ' with trees'
454
447
        return phrase
455
448
    else:
456
449
        if repository.is_shared():