~bzr-pqm/bzr/bzr.dev

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
# Copyright (C) 2005, 2006 Canonical Development Ltd

# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

"""bzr library"""


# please keep these sorted (in C locale order) to aid merging
DEFAULT_IGNORE = [
                  '#*#',
                  '*$',
                  '*,v',
                  '*.BAK',
                  '*.a',
                  '*.bak',
                  '*.elc',
                  '*.exe',
                  '*.la',
                  '*.lo',
                  '*.o',
                  '*.o',
                  '*.obj',
                  '*.orig',
                  '*.py[oc]',
                  '*.so',
                  '*.tmp',
                  '.*.tmp',
                  '*~',
                  '.#*',
                  '.*.sw[nop]',
                  '.sw[nop]',    # vim editing nameless file
                  '.DS_Store',
                  '.arch-ids',
                  '.arch-inventory',
                  '.bzr.log',
                  '.del-*',
                  '.hg',
                  '.git',
                  '.jamdeps'
                  '.libs',
                  '.make.state',
                  '.sconsign*',
                  '.svn',
                  '.tmp*',
                  'BitKeeper',
                  'CVS',
                  'CVS.adm',
                  'RCS',
                  'SCCS',
                  'TAGS',
                  '_darcs',
                  'aclocal.m4',
                  'autom4te*',
                  'config.h',
                  'config.h.in',
                  'config.log',
                  'config.status',
                  'config.sub',
                  'stamp-h',
                  'stamp-h.in',
                  'stamp-h1',
                  '{arch}',
                  # Our setup tests dump .python-eggs in the bzr source tree
                  # root
                  './.python-eggs',
                  ]

IGNORE_FILENAME = ".bzrignore"

import os
import sys
if sys.platform == 'darwin':
    # work around egregious python 2.4 bug
    sys.platform = 'posix'
    import locale
    sys.platform = 'darwin'
else:
    import locale
# XXX: This probably belongs in osutils instead
user_encoding = locale.getpreferredencoding() or 'ascii'
del locale

__copyright__ = "Copyright 2005, 2006 Canonical Development Ltd."
__version__ = version_string = '0.9'

# same format as sys.version_info: "A tuple containing the five components of
# the version number: major, minor, micro, releaselevel, and serial. All
# values except releaselevel are integers; the release level is 'alpha',
# 'beta', 'candidate', or 'final'. The version_info value corresponding to the
# Python version 2.0 is (2, 0, 0, 'final', 0)."  Additionally we use a
# releaselevel of 'dev' for unreleased under-development code.

version_info = (0, 9, 0, 'dev', 0)

if version_info[3] == 'final':
    version_string = '%d.%d.%d' % version_info[:3]
else:
    version_string = '%d.%d.%d%s%d' % version_info
__version__ = version_string 

from bzrlib.symbol_versioning import deprecated_function, zero_seven

@deprecated_function(zero_seven)
def get_bzr_revision():
    """If bzr is run from a branch, return (revno,revid) or None."""
    import bzrlib.errors
    from bzrlib.branch import Branch
    
    try:
        branch = Branch.open(os.path.dirname(__path__[0]))
        rh = branch.revision_history()
        if rh:
            return len(rh), rh[-1]
        else:
            return None
    except bzrlib.errors.BzrError:
        return None
    
def test_suite():
    import tests
    return tests.test_suite()