~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commands.py

  • Committer: Lalo Martins
  • Date: 2005-09-15 15:16:12 UTC
  • mfrom: (1185.1.18)
  • mto: (1185.1.22)
  • mto: This revision was merged to the branch mainline in revision 1390.
  • Revision ID: lalo@exoweb.net-20050915151611-86c5de4298bb71f9
merging from integration again.

This is a "checkpoint" commit; the tests don't actually pass, but all the
really hard stuff has been merged (in particular, Aaron's new ancestor:
namespace was moved to revisionspec).

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
import bzrlib
42
42
import bzrlib.trace
43
43
from bzrlib.trace import mutter, note, log_error, warning
44
 
from bzrlib.errors import BzrError, BzrCheckError, BzrCommandError
 
44
from bzrlib.errors import BzrError, BzrCheckError, BzrCommandError, NotBranchError
45
45
from bzrlib.revisionspec import RevisionSpec
46
46
from bzrlib import BZRDIR
47
47
 
153
153
        msg = "No known merge type %s. Supported types are:\n%s" %\
154
154
            (typestring, type_list)
155
155
        raise BzrCommandError(msg)
156
 
    
157
 
 
158
 
def get_merge_type(typestring):
159
 
    """Attempt to find the merge class/factory associated with a string."""
160
 
    from merge import merge_types
161
 
    try:
162
 
        return merge_types[typestring][0]
163
 
    except KeyError:
164
 
        templ = '%s%%7s: %%s' % (' '*12)
165
 
        lines = [templ % (f[0], f[1][1]) for f in merge_types.iteritems()]
166
 
        type_list = '\n'.join(lines)
167
 
        msg = "No known merge type %s. Supported types are:\n%s" %\
168
 
            (typestring, type_list)
169
 
        raise BzrCommandError(msg)
170
156
 
171
157
 
172
158
def _builtin_commands():
654
640
 
655
641
    try:
656
642
        try:
657
 
            return run_bzr(argv[1:])
658
 
        finally:
659
 
            # do this here inside the exception wrappers to catch EPIPE
660
 
            sys.stdout.flush()
 
643
            try:
 
644
                return run_bzr(argv[1:])
 
645
            finally:
 
646
                # do this here inside the exception wrappers to catch EPIPE
 
647
                sys.stdout.flush()
 
648
        #wrap common errors as CommandErrors.
 
649
        except (NotBranchError,), e:
 
650
            raise BzrCommandError(str(e))
661
651
    except BzrCommandError, e:
662
652
        # command line syntax error, etc
663
653
        log_error(str(e))