~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commands.py

  • Committer: Martin Pool
  • Date: 2005-08-12 15:37:01 UTC
  • Revision ID: mbp@sourcefrog.net-20050812153701-ee26769ddc584e66
- merge john's "missing" command

Show diffs side-by-side

added added

removed removed

Lines of Context:
1536
1536
 
1537
1537
 
1538
1538
 
 
1539
class cmd_missing(Command):
 
1540
    """What is missing in this branch relative to other branch.
 
1541
    """
 
1542
    takes_args = ['remote?']
 
1543
    aliases = ['mis', 'miss']
 
1544
    # We don't have to add quiet to the list, because 
 
1545
    # unknown options are parsed as booleans
 
1546
    takes_options = ['verbose', 'quiet']
 
1547
 
 
1548
    def run(self, remote=None, verbose=False, quiet=False):
 
1549
        from bzrlib.branch import find_branch, DivergedBranches
 
1550
        from bzrlib.errors import BzrCommandError
 
1551
        from bzrlib.missing import get_parent, show_missing
 
1552
 
 
1553
        if verbose and quiet:
 
1554
            raise BzrCommandError('Cannot pass both quiet and verbose')
 
1555
 
 
1556
        b = find_branch('.')
 
1557
        parent = get_parent(b)
 
1558
        if remote is None:
 
1559
            if parent is None:
 
1560
                raise BzrCommandError("No missing location known or specified.")
 
1561
            else:
 
1562
                if not quiet:
 
1563
                    print "Using last location: %s" % parent
 
1564
                remote = parent
 
1565
        elif parent is None:
 
1566
            # We only update x-pull if it did not exist, missing should not change the parent
 
1567
            b.controlfile('x-pull', 'wb').write(remote + '\n')
 
1568
        br_remote = find_branch(remote)
 
1569
 
 
1570
        return show_missing(b, br_remote, verbose=verbose, quiet=quiet)
 
1571
 
 
1572
 
1539
1573
class cmd_plugins(Command):
1540
1574
    """List plugins"""
1541
1575
    hidden = True