bzr branch
http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar
| 
2052.3.2
by John Arbash Meinel
 Change Copyright .. by Canonical to Copyright ... Canonical  | 
1  | 
# Copyright (C) 2005, 2006 Canonical Ltd
 | 
| 
1685.1.60
by Martin Pool
 [broken] NotBranchError should unescape the url if possible  | 
2  | 
# 
 | 
| 
77
by mbp at sourcefrog
 - split info command out into separate file  | 
3  | 
# This program is free software; you can redistribute it and/or modify
 | 
4  | 
# it under the terms of the GNU General Public License as published by
 | 
|
5  | 
# the Free Software Foundation; either version 2 of the License, or
 | 
|
6  | 
# (at your option) any later version.
 | 
|
| 
2052.3.1
by John Arbash Meinel
 Add tests to cleanup the copyright of all source files  | 
7  | 
#
 | 
| 
77
by mbp at sourcefrog
 - split info command out into separate file  | 
8  | 
# This program is distributed in the hope that it will be useful,
 | 
9  | 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
|
10  | 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
|
11  | 
# GNU General Public License for more details.
 | 
|
| 
2052.3.1
by John Arbash Meinel
 Add tests to cleanup the copyright of all source files  | 
12  | 
#
 | 
| 
77
by mbp at sourcefrog
 - split info command out into separate file  | 
13  | 
# You should have received a copy of the GNU General Public License
 | 
14  | 
# along with this program; if not, write to the Free Software
 | 
|
15  | 
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 | 
|
16  | 
||
| 
1534.5.1
by Robert Collins
 Give info some reasonable output and tests.  | 
17  | 
__all__ = ['show_bzrdir_info']  | 
18  | 
||
| 
77
by mbp at sourcefrog
 - split info command out into separate file  | 
19  | 
import time  | 
20  | 
||
| 
1534.5.1
by Robert Collins
 Give info some reasonable output and tests.  | 
21  | 
|
| 
1551.9.22
by Aaron Bentley
 Use urlutils for info. Fixes bug #76229  | 
22  | 
from bzrlib import (  | 
23  | 
diff,  | 
|
24  | 
osutils,  | 
|
25  | 
urlutils,  | 
|
26  | 
    )
 | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
27  | 
from bzrlib.errors import (NoWorkingTree, NotBranchError,  | 
28  | 
NoRepositoryPresent, NotLocalUrl)  | 
|
| 
1587.1.14
by Robert Collins
 Make bound branch creation happen via 'checkout'  | 
29  | 
from bzrlib.missing import find_unmerged  | 
| 
2258.1.1
by Robert Collins
 Move info branch statistics gathering into the repository to allow smart server optimisation (Robert Collins).  | 
30  | 
from bzrlib.symbol_versioning import (deprecated_function,  | 
| 
1773.4.1
by Martin Pool
 Add pyflakes makefile target; fix many warnings  | 
31  | 
zero_eight)  | 
| 
77
by mbp at sourcefrog
 - split info command out into separate file  | 
32  | 
|
| 
462
by Martin Pool
 - New form 'file_id in tree' to check if the file is present  | 
33  | 
|
| 
1563.2.28
by Robert Collins
 Add total_size to the revision_store api.  | 
34  | 
def plural(n, base='', pl=None):  | 
35  | 
if n == 1:  | 
|
36  | 
return base  | 
|
| 
1963.2.6
by Robey Pointer
 pychecker is on crack; go back to using 'is None'.  | 
37  | 
elif pl is not None:  | 
| 
1563.2.28
by Robert Collins
 Add total_size to the revision_store api.  | 
38  | 
return pl  | 
39  | 
else:  | 
|
40  | 
return 's'  | 
|
41  | 
||
42  | 
||
| 
1551.9.22
by Aaron Bentley
 Use urlutils for info. Fixes bug #76229  | 
43  | 
def _repo_rel_url(repo_url, inner_url):  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
44  | 
"""Return path with common prefix of repository path removed.  | 
45  | 
||
46  | 
    If path is not part of the repository, the original path is returned.
 | 
|
47  | 
    If path is equal to the repository, the current directory marker '.' is
 | 
|
48  | 
    returned.
 | 
|
| 
1551.9.22
by Aaron Bentley
 Use urlutils for info. Fixes bug #76229  | 
49  | 
    Otherwise, a relative path is returned, with trailing '/' stripped.
 | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
50  | 
    """
 | 
| 
1551.9.22
by Aaron Bentley
 Use urlutils for info. Fixes bug #76229  | 
51  | 
inner_url = urlutils.normalize_url(inner_url)  | 
52  | 
repo_url = urlutils.normalize_url(repo_url)  | 
|
53  | 
if inner_url == repo_url:  | 
|
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
54  | 
return '.'  | 
| 
1551.9.22
by Aaron Bentley
 Use urlutils for info. Fixes bug #76229  | 
55  | 
result = urlutils.relative_url(repo_url, inner_url)  | 
56  | 
if result != inner_url:  | 
|
| 
1551.9.23
by Aaron Bentley
 Use rstrip  | 
57  | 
result = result.rstrip('/')  | 
| 
1551.9.22
by Aaron Bentley
 Use urlutils for info. Fixes bug #76229  | 
58  | 
return result  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
59  | 
|
60  | 
||
61  | 
def _show_location_info(repository, branch=None, working=None):  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
62  | 
"""Show known locations for working, branch and repository."""  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
63  | 
repository_path = repository.bzrdir.root_transport.base  | 
| 
1624.3.8
by Olaf Conradi
 Adjust formatting. Start sections with a capital letter.  | 
64  | 
print 'Location:'  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
65  | 
if working and branch:  | 
66  | 
working_path = working.bzrdir.root_transport.base  | 
|
67  | 
branch_path = branch.bzrdir.root_transport.base  | 
|
68  | 
if working_path != branch_path:  | 
|
69  | 
            # lightweight checkout
 | 
|
| 
1780.1.2
by Robert Collins
 (robertc)Partial refactoring of info tests to be more robust to format changes.  | 
70  | 
print ' light checkout root: %s' % working_path  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
71  | 
if repository.is_shared():  | 
72  | 
                # lightweight checkout of branch in shared repository
 | 
|
| 
1780.1.2
by Robert Collins
 (robertc)Partial refactoring of info tests to be more robust to format changes.  | 
73  | 
print ' shared repository: %s' % repository_path  | 
74  | 
print ' repository branch: %s' % (  | 
|
| 
1551.9.22
by Aaron Bentley
 Use urlutils for info. Fixes bug #76229  | 
75  | 
_repo_rel_url(repository_path, branch_path))  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
76  | 
else:  | 
77  | 
                # lightweight checkout of standalone branch
 | 
|
| 
1780.1.2
by Robert Collins
 (robertc)Partial refactoring of info tests to be more robust to format changes.  | 
78  | 
print ' checkout of branch: %s' % branch_path  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
79  | 
elif repository.is_shared():  | 
80  | 
            # branch with tree inside shared repository
 | 
|
81  | 
print ' shared repository: %s' % repository_path  | 
|
82  | 
print ' repository checkout: %s' % (  | 
|
| 
1551.9.22
by Aaron Bentley
 Use urlutils for info. Fixes bug #76229  | 
83  | 
_repo_rel_url(repository_path, branch_path))  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
84  | 
elif branch.get_bound_location():  | 
85  | 
            # normal checkout
 | 
|
86  | 
print ' checkout root: %s' % working_path  | 
|
87  | 
print ' checkout of branch: %s' % branch.get_bound_location()  | 
|
88  | 
else:  | 
|
89  | 
            # standalone
 | 
|
90  | 
print ' branch root: %s' % working_path  | 
|
| 
1624.3.33
by Olaf Conradi
 Simplified construct detection in location overview a lot.  | 
91  | 
elif branch:  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
92  | 
branch_path = branch.bzrdir.root_transport.base  | 
| 
1624.3.48
by Olaf Conradi
 Add info on standalone branches without a working tree.  | 
93  | 
if repository.is_shared():  | 
94  | 
            # branch is part of shared repository
 | 
|
95  | 
print ' shared repository: %s' % repository_path  | 
|
96  | 
print ' repository branch: %s' % (  | 
|
| 
1551.9.22
by Aaron Bentley
 Use urlutils for info. Fixes bug #76229  | 
97  | 
_repo_rel_url(repository_path, branch_path))  | 
| 
1624.3.48
by Olaf Conradi
 Add info on standalone branches without a working tree.  | 
98  | 
else:  | 
99  | 
            # standalone branch
 | 
|
100  | 
print ' branch root: %s' % branch_path  | 
|
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
101  | 
else:  | 
102  | 
        # shared repository
 | 
|
103  | 
assert repository.is_shared()  | 
|
104  | 
print ' shared repository: %s' % repository_path  | 
|
105  | 
||
106  | 
||
107  | 
def _show_related_info(branch):  | 
|
108  | 
"""Show parent and push location of branch."""  | 
|
109  | 
if branch.get_parent() or branch.get_push_location():  | 
|
110  | 
        print
 | 
|
111  | 
print 'Related branches:'  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
112  | 
if branch.get_parent():  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
113  | 
if branch.get_push_location():  | 
114  | 
print ' parent branch: %s' % branch.get_parent()  | 
|
115  | 
else:  | 
|
116  | 
print ' parent branch: %s' % branch.get_parent()  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
117  | 
if branch.get_push_location():  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
118  | 
print ' publish to branch: %s' % branch.get_push_location()  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
119  | 
|
120  | 
||
121  | 
def _show_format_info(control=None, repository=None, branch=None, working=None):  | 
|
122  | 
"""Show known formats for control, working, branch and repository."""  | 
|
| 
1624.3.4
by Olaf Conradi
 Simplify construct detection. Make terms in user interface consistent.  | 
123  | 
    print
 | 
| 
1624.3.8
by Olaf Conradi
 Adjust formatting. Start sections with a capital letter.  | 
124  | 
print 'Format:'  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
125  | 
if control:  | 
126  | 
print ' control: %s' % control._format.get_format_description()  | 
|
127  | 
if working:  | 
|
128  | 
print ' working tree: %s' % working._format.get_format_description()  | 
|
129  | 
if branch:  | 
|
130  | 
print ' branch: %s' % branch._format.get_format_description()  | 
|
131  | 
if repository:  | 
|
132  | 
print ' repository: %s' % repository._format.get_format_description()  | 
|
133  | 
||
134  | 
||
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
135  | 
def _show_locking_info(repository, branch=None, working=None):  | 
136  | 
"""Show locking status of working, branch and repository."""  | 
|
137  | 
if (repository.get_physical_lock_status() or  | 
|
138  | 
(branch and branch.get_physical_lock_status()) or  | 
|
139  | 
(working and working.get_physical_lock_status())):  | 
|
140  | 
        print
 | 
|
141  | 
print 'Lock status:'  | 
|
142  | 
if working:  | 
|
143  | 
if working.get_physical_lock_status():  | 
|
144  | 
status = 'locked'  | 
|
145  | 
else:  | 
|
146  | 
status = 'unlocked'  | 
|
147  | 
print ' working tree: %s' % status  | 
|
148  | 
if branch:  | 
|
149  | 
if branch.get_physical_lock_status():  | 
|
150  | 
status = 'locked'  | 
|
151  | 
else:  | 
|
152  | 
status = 'unlocked'  | 
|
153  | 
print ' branch: %s' % status  | 
|
154  | 
if repository:  | 
|
155  | 
if repository.get_physical_lock_status():  | 
|
156  | 
status = 'locked'  | 
|
157  | 
else:  | 
|
158  | 
status = 'unlocked'  | 
|
159  | 
print ' repository: %s' % status  | 
|
160  | 
||
161  | 
||
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
162  | 
def _show_missing_revisions_branch(branch):  | 
163  | 
"""Show missing master revisions in branch."""  | 
|
| 
1587.1.14
by Robert Collins
 Make bound branch creation happen via 'checkout'  | 
164  | 
    # Try with inaccessible branch ?
 | 
| 
1624.3.2
by Olaf Conradi
 Implemented table of constructs from BzrInfo specification.  | 
165  | 
master = branch.get_master_branch()  | 
| 
1587.1.14
by Robert Collins
 Make bound branch creation happen via 'checkout'  | 
166  | 
if master:  | 
| 
1624.3.2
by Olaf Conradi
 Implemented table of constructs from BzrInfo specification.  | 
167  | 
local_extra, remote_extra = find_unmerged(branch, master)  | 
| 
1587.1.14
by Robert Collins
 Make bound branch creation happen via 'checkout'  | 
168  | 
if remote_extra:  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
169  | 
            print
 | 
| 
1587.1.14
by Robert Collins
 Make bound branch creation happen via 'checkout'  | 
170  | 
print 'Branch is out of date: missing %d revision%s.' % (  | 
171  | 
len(remote_extra), plural(len(remote_extra)))  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
172  | 
|
173  | 
||
174  | 
def _show_missing_revisions_working(working):  | 
|
175  | 
"""Show missing revisions in working tree."""  | 
|
176  | 
branch = working.branch  | 
|
177  | 
basis = working.basis_tree()  | 
|
178  | 
work_inv = working.inventory  | 
|
| 
2249.4.2
by Wouter van Heyst
 Convert callers of Branch.revision_history() to Branch.last_revision_info() where sensible.  | 
179  | 
branch_revno, branch_last_revision = branch.last_revision_info()  | 
| 
1908.7.6
by Robert Collins
 Deprecate WorkingTree.last_revision.  | 
180  | 
try:  | 
181  | 
tree_last_id = working.get_parent_ids()[0]  | 
|
182  | 
except IndexError:  | 
|
183  | 
tree_last_id = None  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
184  | 
|
| 
2249.4.2
by Wouter van Heyst
 Convert callers of Branch.revision_history() to Branch.last_revision_info() where sensible.  | 
185  | 
if branch_revno and tree_last_id != branch_last_revision:  | 
| 
1624.3.11
by Olaf Conradi
 Test cases exposed a bug in missing revisions count of working tree. It  | 
186  | 
tree_last_revno = branch.revision_id_to_revno(tree_last_id)  | 
| 
2249.4.2
by Wouter van Heyst
 Convert callers of Branch.revision_history() to Branch.last_revision_info() where sensible.  | 
187  | 
missing_count = branch_revno - tree_last_revno  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
188  | 
        print
 | 
| 
1534.5.1
by Robert Collins
 Give info some reasonable output and tests.  | 
189  | 
print 'Working tree is out of date: missing %d revision%s.' % (  | 
190  | 
missing_count, plural(missing_count))  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
191  | 
|
192  | 
||
193  | 
def _show_working_stats(working):  | 
|
194  | 
"""Show statistics about a working tree."""  | 
|
195  | 
basis = working.basis_tree()  | 
|
196  | 
work_inv = working.inventory  | 
|
| 
1852.10.3
by Robert Collins
 Remove all uses of compare_trees and replace with Tree.changes_from throughout bzrlib.  | 
197  | 
delta = working.changes_from(basis, want_unchanged=True)  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
198  | 
|
199  | 
    print
 | 
|
| 
1624.3.8
by Olaf Conradi
 Adjust formatting. Start sections with a capital letter.  | 
200  | 
print 'In the working tree:'  | 
| 
463
by Martin Pool
 - compare_trees() also reports unchanged files  | 
201  | 
print ' %8s unchanged' % len(delta.unchanged)  | 
| 
462
by Martin Pool
 - New form 'file_id in tree' to check if the file is present  | 
202  | 
print ' %8d modified' % len(delta.modified)  | 
203  | 
print ' %8d added' % len(delta.added)  | 
|
204  | 
print ' %8d removed' % len(delta.removed)  | 
|
205  | 
print ' %8d renamed' % len(delta.renamed)  | 
|
206  | 
||
207  | 
ignore_cnt = unknown_cnt = 0  | 
|
208  | 
for path in working.extras():  | 
|
209  | 
if working.is_ignored(path):  | 
|
210  | 
ignore_cnt += 1  | 
|
211  | 
else:  | 
|
212  | 
unknown_cnt += 1  | 
|
213  | 
print ' %8d unknown' % unknown_cnt  | 
|
214  | 
print ' %8d ignored' % ignore_cnt  | 
|
215  | 
||
216  | 
dir_cnt = 0  | 
|
| 
1731.1.39
by Aaron Bentley
 Reject removing is_root  | 
217  | 
for file_id in work_inv:  | 
218  | 
if (work_inv.get_file_kind(file_id) == 'directory' and  | 
|
219  | 
not work_inv.is_root(file_id)):  | 
|
220  | 
dir_cnt += 1  | 
|
| 
462
by Martin Pool
 - New form 'file_id in tree' to check if the file is present  | 
221  | 
print ' %8d versioned %s' \  | 
222  | 
% (dir_cnt,  | 
|
223  | 
plural(dir_cnt, 'subdirectory', 'subdirectories'))  | 
|
| 
77
by mbp at sourcefrog
 - split info command out into separate file  | 
224  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
225  | 
|
226  | 
def _show_branch_stats(branch, verbose):  | 
|
227  | 
"""Show statistics about a branch."""  | 
|
| 
2258.1.1
by Robert Collins
 Move info branch statistics gathering into the repository to allow smart server optimisation (Robert Collins).  | 
228  | 
revno, head = branch.last_revision_info()  | 
| 
77
by mbp at sourcefrog
 - split info command out into separate file  | 
229  | 
    print
 | 
| 
1624.3.8
by Olaf Conradi
 Adjust formatting. Start sections with a capital letter.  | 
230  | 
print 'Branch history:'  | 
| 
111
by mbp at sourcefrog
 Make fields wider in 'bzr info' output to accomodate big trees  | 
231  | 
print ' %8d revision%s' % (revno, plural(revno))  | 
| 
2258.1.1
by Robert Collins
 Move info branch statistics gathering into the repository to allow smart server optimisation (Robert Collins).  | 
232  | 
stats = branch.repository.gather_stats(head, committers=verbose)  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
233  | 
if verbose:  | 
| 
2258.1.1
by Robert Collins
 Move info branch statistics gathering into the repository to allow smart server optimisation (Robert Collins).  | 
234  | 
committers = stats['committers']  | 
235  | 
print ' %8d committer%s' % (committers, plural(committers))  | 
|
236  | 
if revno:  | 
|
237  | 
timestamp, timezone = stats['firstrev']  | 
|
238  | 
age = int((time.time() - timestamp) / 3600 / 24)  | 
|
| 
111
by mbp at sourcefrog
 Make fields wider in 'bzr info' output to accomodate big trees  | 
239  | 
print ' %8d day%s old' % (age, plural(age))  | 
| 
2258.1.1
by Robert Collins
 Move info branch statistics gathering into the repository to allow smart server optimisation (Robert Collins).  | 
240  | 
print ' first revision: %s' % osutils.format_date(timestamp,  | 
241  | 
timezone)  | 
|
242  | 
timestamp, timezone = stats['latestrev']  | 
|
243  | 
print ' latest revision: %s' % osutils.format_date(timestamp,  | 
|
244  | 
timezone)  | 
|
| 
2258.1.2
by Robert Collins
 New version of gather_stats which gathers aggregate data too.  | 
245  | 
return stats  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
246  | 
|
247  | 
||
248  | 
def _show_repository_info(repository):  | 
|
249  | 
"""Show settings of a repository."""  | 
|
250  | 
if repository.make_working_trees():  | 
|
251  | 
        print
 | 
|
252  | 
print 'Create working tree for new branches inside the repository.'  | 
|
253  | 
||
254  | 
||
| 
2258.1.2
by Robert Collins
 New version of gather_stats which gathers aggregate data too.  | 
255  | 
def _show_repository_stats(stats):  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
256  | 
"""Show statistics about a repository."""  | 
| 
2258.1.2
by Robert Collins
 New version of gather_stats which gathers aggregate data too.  | 
257  | 
if 'revisions' in stats or 'size' in stats:  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
258  | 
        print
 | 
259  | 
print 'Revision store:'  | 
|
| 
2258.1.2
by Robert Collins
 New version of gather_stats which gathers aggregate data too.  | 
260  | 
if 'revisions' in stats:  | 
261  | 
revisions = stats['revisions']  | 
|
262  | 
print ' %8d revision%s' % (revisions, plural(revisions))  | 
|
263  | 
if 'size' in stats:  | 
|
264  | 
print ' %8d KiB' % (stats['size']/1024)  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
265  | 
|
266  | 
||
267  | 
@deprecated_function(zero_eight)  | 
|
268  | 
def show_info(b):  | 
|
269  | 
"""Please see show_bzrdir_info."""  | 
|
270  | 
return show_bzrdir_info(b.bzrdir)  | 
|
271  | 
||
272  | 
||
273  | 
def show_bzrdir_info(a_bzrdir, verbose=False):  | 
|
274  | 
"""Output to stdout the 'info' for a_bzrdir."""  | 
|
275  | 
try:  | 
|
276  | 
working = a_bzrdir.open_workingtree()  | 
|
| 
1624.3.35
by Olaf Conradi
 Implemented locking status for formats using LockDir.  | 
277  | 
working.lock_read()  | 
278  | 
try:  | 
|
279  | 
show_tree_info(working, verbose)  | 
|
280  | 
finally:  | 
|
281  | 
working.unlock()  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
282  | 
        return
 | 
283  | 
except (NoWorkingTree, NotLocalUrl):  | 
|
284  | 
        pass
 | 
|
285  | 
||
286  | 
try:  | 
|
287  | 
branch = a_bzrdir.open_branch()  | 
|
| 
1624.3.35
by Olaf Conradi
 Implemented locking status for formats using LockDir.  | 
288  | 
branch.lock_read()  | 
289  | 
try:  | 
|
290  | 
show_branch_info(branch, verbose)  | 
|
291  | 
finally:  | 
|
292  | 
branch.unlock()  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
293  | 
        return
 | 
294  | 
except NotBranchError:  | 
|
295  | 
        pass
 | 
|
296  | 
||
297  | 
try:  | 
|
298  | 
repository = a_bzrdir.open_repository()  | 
|
| 
1624.3.35
by Olaf Conradi
 Implemented locking status for formats using LockDir.  | 
299  | 
repository.lock_read()  | 
300  | 
try:  | 
|
301  | 
show_repository_info(repository, verbose)  | 
|
302  | 
finally:  | 
|
303  | 
repository.unlock()  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
304  | 
        return
 | 
305  | 
except NoRepositoryPresent:  | 
|
306  | 
        pass
 | 
|
307  | 
||
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
308  | 
    # Return silently, cmd_info already returned NotBranchError if no bzrdir
 | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
309  | 
    # could be opened.
 | 
310  | 
||
311  | 
||
312  | 
def show_tree_info(working, verbose):  | 
|
313  | 
"""Output to stdout the 'info' for working."""  | 
|
314  | 
branch = working.branch  | 
|
315  | 
repository = branch.repository  | 
|
316  | 
control = working.bzrdir  | 
|
317  | 
||
318  | 
_show_location_info(repository, branch, working)  | 
|
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
319  | 
_show_related_info(branch)  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
320  | 
_show_format_info(control, repository, branch, working)  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
321  | 
_show_locking_info(repository, branch, working)  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
322  | 
_show_missing_revisions_branch(branch)  | 
323  | 
_show_missing_revisions_working(working)  | 
|
324  | 
_show_working_stats(working)  | 
|
| 
2258.1.2
by Robert Collins
 New version of gather_stats which gathers aggregate data too.  | 
325  | 
stats = _show_branch_stats(branch, verbose)  | 
326  | 
_show_repository_stats(stats)  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
327  | 
|
328  | 
||
329  | 
def show_branch_info(branch, verbose):  | 
|
330  | 
"""Output to stdout the 'info' for branch."""  | 
|
331  | 
repository = branch.repository  | 
|
332  | 
control = branch.bzrdir  | 
|
333  | 
||
334  | 
_show_location_info(repository, branch)  | 
|
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
335  | 
_show_related_info(branch)  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
336  | 
_show_format_info(control, repository, branch)  | 
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
337  | 
_show_locking_info(repository, branch)  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
338  | 
_show_missing_revisions_branch(branch)  | 
| 
2258.1.2
by Robert Collins
 New version of gather_stats which gathers aggregate data too.  | 
339  | 
stats = _show_branch_stats(branch, verbose)  | 
340  | 
_show_repository_stats(stats)  | 
|
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
341  | 
|
342  | 
||
343  | 
def show_repository_info(repository, verbose):  | 
|
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
344  | 
"""Output to stdout the 'info' for repository."""  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
345  | 
control = repository.bzrdir  | 
346  | 
||
347  | 
_show_location_info(repository)  | 
|
348  | 
_show_format_info(control, repository)  | 
|
| 
1694.2.6
by Martin Pool
 [merge] bzr.dev  | 
349  | 
_show_locking_info(repository)  | 
| 
1624.3.21
by Olaf Conradi
 Make bzr info command work on both local and remote locations. Support  | 
350  | 
_show_repository_info(repository)  | 
| 
2258.1.2
by Robert Collins
 New version of gather_stats which gathers aggregate data too.  | 
351  | 
stats = repository.gather_stats()  | 
352  | 
_show_repository_stats(stats)  |