~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/__init__.py

  • Committer: Martin Pool
  • Date: 2006-06-15 05:36:34 UTC
  • mto: This revision was merged to the branch mainline in revision 1797.
  • Revision ID: mbp@sourcefrog.net-20060615053634-4fd52ba691855659
Clean up many exception classes.

Errors indicating a user error are now shown with is_user_error on the
exception; use this rather than hardcoding a list of exceptions that should be
handled this way.

Exceptions now inherit from BzrNewException where possible to use consistent
formatting method.

Remove rather obsolete docstring test on Branch.missing_revisions.

Remove dead code from find_merge_base.


Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# (C) 2005 Canonical Development Ltd
 
1
# Copyright (C) 2005, 2006 Canonical Development Ltd
2
2
 
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
16
16
 
17
17
"""bzr library"""
18
18
 
19
 
from inventory import Inventory, InventoryEntry
20
 
from branch import Branch, ScratchBranch
21
 
from osutils import format_date
22
 
from tree import Tree
23
 
from diff import diff_trees
24
 
from trace import mutter, warning
25
 
import add
26
 
 
27
 
BZRDIR = ".bzr"
28
 
 
29
 
DEFAULT_IGNORE = ['.bzr.log',
30
 
                  '*~', '#*#', '*$', '.#*',
31
 
                  '*.tmp', '*.bak', '*.BAK', '*.orig',
32
 
                  '*.o', '*.obj', '*.a', '*.py[oc]', '*.so', '*.exe', '*.elc', 
33
 
                  '{arch}', 'CVS', '.svn', '_darcs', 'SCCS', 'RCS',
 
19
 
 
20
# please keep these sorted (in C locale order) to aid merging
 
21
DEFAULT_IGNORE = [
 
22
                  '#*#',
 
23
                  '*$',
 
24
                  '*,v',
 
25
                  '*.BAK',
 
26
                  '*.a',
 
27
                  '*.bak',
 
28
                  '*.elc',
 
29
                  '*.exe',
 
30
                  '*.la',
 
31
                  '*.lo',
 
32
                  '*.o',
 
33
                  '*.o',
 
34
                  '*.obj',
 
35
                  '*.orig',
 
36
                  '*.py[oc]',
 
37
                  '*.so',
 
38
                  '*.tmp',
 
39
                  '.*.tmp',
 
40
                  '*~',
 
41
                  '.#*',
 
42
                  '.*.sw[nop]',
 
43
                  '.sw[nop]',    # vim editing nameless file
 
44
                  '.DS_Store',
 
45
                  '.arch-ids',
 
46
                  '.arch-inventory',
 
47
                  '.bzr.log',
 
48
                  '.del-*',
 
49
                  '.hg',
 
50
                  '.git',
 
51
                  '.jamdeps'
 
52
                  '.libs',
 
53
                  '.make.state',
 
54
                  '.sconsign*',
 
55
                  '.svn',
 
56
                  '.tmp*',
34
57
                  'BitKeeper',
35
 
                  'TAGS', '.make.state', '.sconsign', '.tmp*']
 
58
                  'CVS',
 
59
                  'CVS.adm',
 
60
                  'RCS',
 
61
                  'SCCS',
 
62
                  'TAGS',
 
63
                  '_darcs',
 
64
                  'aclocal.m4',
 
65
                  'autom4te*',
 
66
                  'config.h',
 
67
                  'config.h.in',
 
68
                  'config.log',
 
69
                  'config.status',
 
70
                  'config.sub',
 
71
                  'stamp-h',
 
72
                  'stamp-h.in',
 
73
                  'stamp-h1',
 
74
                  '{arch}',
 
75
                  ]
36
76
 
37
77
IGNORE_FILENAME = ".bzrignore"
38
78
 
39
 
import locale
40
 
user_encoding = locale.getpreferredencoding()
41
 
 
42
 
__copyright__ = "Copyright 2005 Canonical Development Ltd."
43
 
__author__ = "Martin Pool <mbp@canonical.com>"
44
 
__version__ = '0.0.5pre'
45
 
 
 
79
import os
 
80
import sys
 
81
if sys.platform == 'darwin':
 
82
    # work around egregious python 2.4 bug
 
83
    sys.platform = 'posix'
 
84
    import locale
 
85
    sys.platform = 'darwin'
 
86
else:
 
87
    import locale
 
88
user_encoding = locale.getpreferredencoding() or 'ascii'
 
89
del locale
 
90
 
 
91
__copyright__ = "Copyright 2005, 2006 Canonical Development Ltd."
 
92
__version__ = version_string = '0.9'
 
93
 
 
94
# same format as sys.version_info: "A tuple containing the five components of
 
95
# the version number: major, minor, micro, releaselevel, and serial. All
 
96
# values except releaselevel are integers; the release level is 'alpha',
 
97
# 'beta', 'candidate', or 'final'. The version_info value corresponding to the
 
98
# Python version 2.0 is (2, 0, 0, 'final', 0)."  Additionally we use a
 
99
# releaselevel of 'dev' for unreleased under-development code.
 
100
 
 
101
version_info = (0, 9, 0, 'dev', 0)
 
102
 
 
103
if version_info[3] == 'final':
 
104
    version_string = '%d.%d.%d' % version_info[:3]
 
105
else:
 
106
    version_string = '%d.%d.%d%s%d' % version_info
 
107
__version__ = version_string 
 
108
 
 
109
from bzrlib.symbol_versioning import deprecated_function, zero_seven
 
110
 
 
111
@deprecated_function(zero_seven)
 
112
def get_bzr_revision():
 
113
    """If bzr is run from a branch, return (revno,revid) or None."""
 
114
    import bzrlib.errors
 
115
    from bzrlib.branch import Branch
 
116
    
 
117
    try:
 
118
        branch = Branch.open(os.path.dirname(__path__[0]))
 
119
        rh = branch.revision_history()
 
120
        if rh:
 
121
            return len(rh), rh[-1]
 
122
        else:
 
123
            return None
 
124
    except bzrlib.errors.BzrError:
 
125
        return None
 
126
    
 
127
def test_suite():
 
128
    import tests
 
129
    return tests.test_suite()