~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/__init__.py

Deprecate compare_trees and move its body to InterTree.changes_from.

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
 
# TODO: Do less imports here
20
 
from branch import Branch, ScratchBranch, find_branch
21
 
from errors import BzrError
22
 
 
23
 
BZRDIR = ".bzr"
24
 
 
25
 
DEFAULT_IGNORE = ['.bzr.log',
26
 
                  '*~', '#*#', '*$', '.#*',
27
 
                  '.*.sw[nop]', '.*.tmp',
28
 
                  '*.tmp', '*.bak', '*.BAK', '*.orig',
29
 
                  '*.o', '*.obj', '*.a', '*.py[oc]', '*.so', '*.exe', '*.elc', 
30
 
                  '{arch}', 'CVS', 'CVS.adm', '.svn', '_darcs', 'SCCS', 'RCS',
31
 
                  '*,v',
32
 
                  'BitKeeper',
33
 
                  '.git',
34
 
                  'TAGS', '.make.state', '.sconsign', '.tmp*',
35
 
                  '.del-*']
36
19
 
37
20
IGNORE_FILENAME = ".bzrignore"
38
21
 
39
 
import locale
 
22
import os
 
23
import sys
 
24
if sys.platform == 'darwin':
 
25
    # work around egregious python 2.4 bug
 
26
    sys.platform = 'posix'
 
27
    import locale
 
28
    sys.platform = 'darwin'
 
29
else:
 
30
    import locale
 
31
# XXX: This probably belongs in osutils instead
40
32
user_encoding = locale.getpreferredencoding() or 'ascii'
41
33
del locale
42
34
 
43
 
__copyright__ = "Copyright 2005 Canonical Development Ltd."
44
 
__author__ = "Martin Pool <mbp@canonical.com>"
45
 
__version__ = '0.0.7pre'
46
 
 
47
 
 
 
35
__copyright__ = "Copyright 2005, 2006 Canonical Development Ltd."
 
36
__version__ = version_string = '0.9'
 
37
 
 
38
# same format as sys.version_info: "A tuple containing the five components of
 
39
# the version number: major, minor, micro, releaselevel, and serial. All
 
40
# values except releaselevel are integers; the release level is 'alpha',
 
41
# 'beta', 'candidate', or 'final'. The version_info value corresponding to the
 
42
# Python version 2.0 is (2, 0, 0, 'final', 0)."  Additionally we use a
 
43
# releaselevel of 'dev' for unreleased under-development code.
 
44
 
 
45
version_info = (0, 9, 0, 'dev', 0)
 
46
 
 
47
if version_info[3] == 'final':
 
48
    version_string = '%d.%d.%d' % version_info[:3]
 
49
else:
 
50
    version_string = '%d.%d.%d%s%d' % version_info
 
51
__version__ = version_string
 
52
 
 
53
from bzrlib.symbol_versioning import (deprecated_function,
 
54
                                      zero_seven,
 
55
                                      zero_nine,
 
56
                                      deprecated_list,
 
57
                                     )
 
58
 
 
59
# Kept for compatibility with 0.8, it is considered deprecated to modify it
 
60
DEFAULT_IGNORE = deprecated_list(zero_nine, 'DEFAULT_IGNORE', [],
 
61
                    'Consider using bzrlib.ignores.add_unique_user_ignores'
 
62
                    ' or bzrlib.ignores.add_runtime_ignores')
 
63
 
 
64
 
 
65
@deprecated_function(zero_seven)
48
66
def get_bzr_revision():
49
 
    """If bzr is run from a branch, return (revno,revid) or None"""
 
67
    """If bzr is run from a branch, return (revno,revid) or None."""
 
68
    import bzrlib.errors
 
69
    from bzrlib.branch import Branch
 
70
    
50
71
    try:
51
 
        branch = Branch(__path__[0])
 
72
        branch = Branch.open(os.path.dirname(__path__[0]))
52
73
        rh = branch.revision_history()
53
74
        if rh:
54
75
            return len(rh), rh[-1]
55
76
        else:
56
77
            return None
57
 
    except BzrError:
 
78
    except bzrlib.errors.BzrError:
58
79
        return None
59
80
    
 
81
def test_suite():
 
82
    import tests
 
83
    return tests.test_suite()