~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/tests/blackbox/test_info.py

  • Committer: Canonical.com Patch Queue Manager
  • Date: 2007-06-28 07:08:27 UTC
  • mfrom: (2553.1.3 integration)
  • Revision ID: pqm@pqm.ubuntu.com-20070628070827-h5s313dg5tnag9vj
(robertc) Show the names of commit hooks during commit.

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
"""Tests for the info command of bzr."""
19
19
 
20
 
import os
21
20
import sys
22
21
 
23
22
import bzrlib
24
23
from bzrlib import (
25
24
    bzrdir,
26
 
    osutils,
27
25
    repository,
28
 
    urlutils,
29
26
    )
30
27
from bzrlib.osutils import format_date
31
28
from bzrlib.tests import TestSkipped
51
48
        self.build_tree(['standalone/a'])
52
49
        tree1.add('a')
53
50
        branch1 = tree1.branch
54
 
 
55
 
        out, err = self.run_bzr('info standalone')
56
 
        self.assertEqualDiff(
57
 
"""Standalone tree (format: weave)
58
 
Location:
59
 
  branch root: standalone
60
 
""", out)
61
 
        self.assertEqual('', err)
62
 
 
63
51
        out, err = self.run_bzr('info standalone -v')
64
52
        self.assertEqualDiff(
65
53
"""Standalone tree (format: weave)
66
54
Location:
67
 
  branch root: standalone
 
55
  branch root: %s
68
56
 
69
57
Format:
70
58
       control: All-in-one format 6
89
77
Repository:
90
78
         0 revisions
91
79
         0 KiB
92
 
""", out)
 
80
""" % branch1.bzrdir.root_transport.base, out)
93
81
        self.assertEqual('', err)
94
82
        tree1.commit('commit one')
95
83
        rev = branch1.repository.get_revision(branch1.revision_history()[0])
98
86
        # Branch standalone with push location
99
87
        branch2 = branch1.bzrdir.sprout('branch').open_branch()
100
88
        branch2.set_push_location(branch1.bzrdir.root_transport.base)
101
 
 
102
 
        out, err = self.run_bzr('info branch')
103
 
        self.assertEqualDiff(
104
 
"""Standalone tree (format: weave)
105
 
Location:
106
 
  branch root: branch
107
 
 
108
 
Related branches:
109
 
    push branch: standalone
110
 
  parent branch: standalone
111
 
""", out)
112
 
        self.assertEqual('', err)
113
 
 
114
89
        out, err = self.run_bzr('info branch --verbose')
115
90
        self.assertEqualDiff(
116
91
"""Standalone tree (format: weave)
117
92
Location:
118
 
  branch root: branch
 
93
  branch root: %s
119
94
 
120
95
Related branches:
121
 
    push branch: standalone
122
 
  parent branch: standalone
 
96
      parent branch: %s
 
97
  publish to branch: %s
123
98
 
124
99
Format:
125
100
       control: All-in-one format 6
147
122
Repository:
148
123
         1 revision
149
124
         %d KiB
150
 
""" % (datestring_first, datestring_first,
 
125
""" % (branch2.bzrdir.root_transport.base,
 
126
       branch1.bzrdir.root_transport.base,
 
127
       branch1.bzrdir.root_transport.base,
 
128
       datestring_first, datestring_first,
151
129
       # poking at _revision_store isn't all that clean, but neither is
152
130
       # having the ui test dependent on the exact overhead of a given store.
153
131
       branch2.repository._revision_store.total_size(
167
145
        self.assertEqualDiff(
168
146
"""Checkout (format: knit)
169
147
Location:
170
 
       checkout root: bound
171
 
  checkout of branch: standalone
 
148
       checkout root: %s
 
149
  checkout of branch: %s
172
150
 
173
151
Related branches:
174
 
  parent branch: standalone
 
152
  parent branch: %s
175
153
 
176
154
Format:
177
155
       control: Meta directory format 1
199
177
Repository:
200
178
         1 revision
201
179
         %d KiB
202
 
""" % (bound_tree._format.get_format_description(),
 
180
""" % (branch3.bzrdir.root_transport.base,
 
181
       branch1.bzrdir.root_transport.base,
 
182
       branch1.bzrdir.root_transport.base,
 
183
       bound_tree._format.get_format_description(),      
203
184
       branch3._format.get_format_description(),
204
185
       branch3.repository._format.get_format_description(),
205
186
       datestring_first, datestring_first,
219
200
        self.assertEqualDiff(
220
201
"""Checkout (format: knit)
221
202
Location:
222
 
       checkout root: checkout
223
 
  checkout of branch: standalone
 
203
       checkout root: %s
 
204
  checkout of branch: %s
224
205
 
225
206
Format:
226
207
       control: Meta directory format 1
248
229
Repository:
249
230
         1 revision
250
231
         %d KiB
251
 
""" % (branch4.repository._format.get_format_description(),
 
232
""" % (branch4.bzrdir.root_transport.base,
 
233
       branch1.bzrdir.root_transport.base,
 
234
       branch4.repository._format.get_format_description(),
252
235
       datestring_first, datestring_first,
253
236
       # poking at _revision_store isn't all that clean, but neither is
254
237
       # having the ui test dependent on the exact overhead of a given store.
264
247
        self.assertEqualDiff(
265
248
"""Lightweight checkout (format: dirstate or dirstate-tags)
266
249
Location:
267
 
  light checkout root: lightcheckout
268
 
   checkout of branch: standalone
 
250
  light checkout root: %s
 
251
   checkout of branch: %s
269
252
 
270
253
Format:
271
254
       control: Meta directory format 1
293
276
Repository:
294
277
         1 revision
295
278
         0 KiB
296
 
""" % (datestring_first, datestring_first,), out)
 
279
""" % (tree5.bzrdir.root_transport.base,
 
280
       branch1.bzrdir.root_transport.base,
 
281
       datestring_first, datestring_first,
 
282
       ), out)
297
283
        self.assertEqual('', err)
298
284
 
299
285
        # Update initial standalone branch
308
294
        self.assertEqualDiff(
309
295
"""Standalone tree (format: weave)
310
296
Location:
311
 
  branch root: branch
 
297
  branch root: %s
312
298
 
313
299
Related branches:
314
 
    push branch: standalone
315
 
  parent branch: standalone
 
300
      parent branch: %s
 
301
  publish to branch: %s
316
302
 
317
303
Format:
318
304
       control: All-in-one format 6
340
326
Repository:
341
327
         1 revision
342
328
         0 KiB
343
 
""" % (datestring_first, datestring_first,
 
329
""" % (branch2.bzrdir.root_transport.base,
 
330
       branch1.bzrdir.root_transport.base,
 
331
       branch1.bzrdir.root_transport.base,
 
332
       datestring_first, datestring_first,
344
333
       ), out)
345
334
        self.assertEqual('', err)
346
335
 
349
338
        self.assertEqualDiff(
350
339
"""Checkout (format: knit)
351
340
Location:
352
 
       checkout root: bound
353
 
  checkout of branch: standalone
 
341
       checkout root: %s
 
342
  checkout of branch: %s
354
343
 
355
344
Related branches:
356
 
  parent branch: standalone
 
345
  parent branch: %s
357
346
 
358
347
Format:
359
348
       control: Meta directory format 1
383
372
Repository:
384
373
         1 revision
385
374
         %d KiB
386
 
""" % (branch3.repository._format.get_format_description(),
 
375
""" % (branch3.bzrdir.root_transport.base,
 
376
       branch1.bzrdir.root_transport.base,
 
377
       branch1.bzrdir.root_transport.base,
 
378
       branch3.repository._format.get_format_description(),
387
379
       datestring_first, datestring_first,
388
380
       # poking at _revision_store isn't all that clean, but neither is
389
381
       # having the ui test dependent on the exact overhead of a given store.
397
389
        self.assertEqualDiff(
398
390
"""Checkout (format: knit)
399
391
Location:
400
 
       checkout root: checkout
401
 
  checkout of branch: standalone
 
392
       checkout root: %s
 
393
  checkout of branch: %s
402
394
 
403
395
Format:
404
396
       control: Meta directory format 1
428
420
Repository:
429
421
         1 revision
430
422
         %d KiB
431
 
""" % (branch4.repository._format.get_format_description(),
 
423
""" % (branch4.bzrdir.root_transport.base,
 
424
       branch1.bzrdir.root_transport.base,
 
425
       branch4.repository._format.get_format_description(),
432
426
       datestring_first, datestring_first,
433
427
       # poking at _revision_store isn't all that clean, but neither is
434
428
       # having the ui test dependent on the exact overhead of a given store.
442
436
        self.assertEqualDiff(
443
437
"""Lightweight checkout (format: dirstate or dirstate-tags)
444
438
Location:
445
 
  light checkout root: lightcheckout
446
 
   checkout of branch: standalone
 
439
  light checkout root: %s
 
440
   checkout of branch: %s
447
441
 
448
442
Format:
449
443
       control: Meta directory format 1
473
467
Repository:
474
468
         2 revisions
475
469
         0 KiB
476
 
""" % (datestring_first, datestring_last,), out)
 
470
""" % (tree5.bzrdir.root_transport.base,
 
471
       branch1.bzrdir.root_transport.base,
 
472
       datestring_first, datestring_last,
 
473
       ), out)
477
474
        self.assertEqual('', err)
478
475
 
479
476
    def test_info_standalone_no_tree(self):
485
482
        self.assertEqualDiff(
486
483
"""Standalone branch (format: dirstate or knit)
487
484
Location:
488
 
  branch root: branch
 
485
  branch root: %s
489
486
 
490
487
Format:
491
488
       control: Meta directory format 1
499
496
Repository:
500
497
         0 revisions
501
498
         0 KiB
502
 
""" % (format.get_branch_format().get_format_description(),
 
499
""" % (branch.bzrdir.root_transport.base,
 
500
       format.get_branch_format().get_format_description(),
503
501
       format.repository_format.get_format_description(),
504
502
       ), out)
505
503
        self.assertEqual('', err)
524
522
Repository:
525
523
         0 revisions
526
524
         0 KiB
527
 
""" % ('repo', format.repository_format.get_format_description(),
 
525
""" % (repo.bzrdir.root_transport.base,
 
526
       format.repository_format.get_format_description(),
528
527
       ), out)
529
528
        self.assertEqual('', err)
530
529
 
536
535
        self.assertEqualDiff(
537
536
"""Repository branch (format: dirstate or knit)
538
537
Location:
539
 
  shared repository: repo
540
 
  repository branch: repo/branch
 
538
  shared repository: %s
 
539
  repository branch: branch
541
540
 
542
541
Format:
543
542
       control: Meta directory format 1
551
550
Repository:
552
551
         0 revisions
553
552
         0 KiB
554
 
""" % (format.get_branch_format().get_format_description(),
 
553
""" % (repo.bzrdir.root_transport.base,
 
554
       format.get_branch_format().get_format_description(),
555
555
       format.repository_format.get_format_description(),
556
556
       ), out)
557
557
        self.assertEqual('', err)
580
580
        self.assertEqualDiff(
581
581
"""Lightweight checkout (format: dirstate or dirstate-tags)
582
582
Location:
583
 
  light checkout root: tree/lightcheckout
584
 
   checkout of branch: repo/branch
585
 
    shared repository: repo
 
583
  light checkout root: %s
 
584
   checkout of branch: %s
 
585
    shared repository: %s
586
586
 
587
587
Format:
588
588
       control: Meta directory format 1
610
610
Repository:
611
611
         1 revision
612
612
         %d KiB
613
 
""" % (format.get_branch_format().get_format_description(),
 
613
""" % (tree2.bzrdir.root_transport.base,
 
614
       tree2.branch.bzrdir.root_transport.base,
 
615
       repo.bzrdir.root_transport.base,
 
616
       format.get_branch_format().get_format_description(),
614
617
       format.repository_format.get_format_description(),
615
618
       datestring_first, datestring_first,
616
619
       # poking at _revision_store isn't all that clean, but neither is
624
627
        self.assertEqualDiff(
625
628
"""Checkout (format: dirstate)
626
629
Location:
627
 
       checkout root: tree/checkout
628
 
  checkout of branch: repo/branch
 
630
       checkout root: %s
 
631
  checkout of branch: %s
629
632
 
630
633
Format:
631
634
       control: Meta directory format 1
652
655
Repository:
653
656
         0 revisions
654
657
         0 KiB
655
 
""" % (format.get_branch_format().get_format_description(),
 
658
""" % (tree3.bzrdir.root_transport.base,
 
659
       branch1.bzrdir.root_transport.base,
 
660
       format.get_branch_format().get_format_description(),
656
661
       format.repository_format.get_format_description(),
657
662
       ), out)
658
663
        self.assertEqual('', err)
665
670
        self.assertEqualDiff(
666
671
"""Checkout (format: dirstate)
667
672
Location:
668
 
       checkout root: tree/checkout
669
 
  checkout of branch: repo/branch
 
673
       checkout root: %s
 
674
  checkout of branch: %s
670
675
 
671
676
Format:
672
677
       control: Meta directory format 1
694
699
Repository:
695
700
         1 revision
696
701
         %d KiB
697
 
""" % (format.get_branch_format().get_format_description(),
 
702
""" % (tree3.bzrdir.root_transport.base, branch1.bzrdir.root_transport.base,
 
703
       format.get_branch_format().get_format_description(),
698
704
       format.repository_format.get_format_description(),
699
705
       datestring_first, datestring_first,
700
706
       # poking at _revision_store isn't all that clean, but neither is
711
717
        self.assertEqualDiff(
712
718
"""Lightweight checkout (format: dirstate or dirstate-tags)
713
719
Location:
714
 
  light checkout root: tree/lightcheckout
715
 
   checkout of branch: repo/branch
716
 
    shared repository: repo
 
720
  light checkout root: %s
 
721
   checkout of branch: %s
 
722
    shared repository: %s
717
723
 
718
724
Format:
719
725
       control: Meta directory format 1
743
749
Repository:
744
750
         2 revisions
745
751
         %d KiB
746
 
""" % (format.get_branch_format().get_format_description(),
 
752
""" % (tree2.bzrdir.root_transport.base,
 
753
       tree2.branch.bzrdir.root_transport.base,
 
754
       repo.bzrdir.root_transport.base,
 
755
       format.get_branch_format().get_format_description(),
747
756
       format.repository_format.get_format_description(),
748
757
       datestring_first, datestring_last,
749
758
       # poking at _revision_store isn't all that clean, but neither is
757
766
        self.assertEqualDiff(
758
767
"""Repository branch (format: dirstate or knit)
759
768
Location:
760
 
  shared repository: repo
761
 
  repository branch: repo/branch
 
769
  shared repository: %s
 
770
  repository branch: branch
762
771
 
763
772
Format:
764
773
       control: Meta directory format 1
775
784
Repository:
776
785
         2 revisions
777
786
         %d KiB
778
 
""" % (format.get_branch_format().get_format_description(),
 
787
""" % (repo.bzrdir.root_transport.base,
 
788
       format.get_branch_format().get_format_description(),
779
789
       format.repository_format.get_format_description(),
780
790
       datestring_first, datestring_last,
781
791
       # poking at _revision_store isn't all that clean, but neither is
789
799
        self.assertEqualDiff(
790
800
"""Shared repository (format: dirstate or dirstate-tags or knit)
791
801
Location:
792
 
  shared repository: repo
 
802
  shared repository: %s
793
803
 
794
804
Format:
795
805
       control: Meta directory format 1
798
808
Repository:
799
809
         2 revisions
800
810
         %d KiB
801
 
""" % (format.repository_format.get_format_description(),
 
811
""" % (repo.bzrdir.root_transport.base,
 
812
       format.repository_format.get_format_description(),
802
813
       # poking at _revision_store isn't all that clean, but neither is
803
814
       # having the ui test dependent on the exact overhead of a given store.
804
815
       repo._revision_store.total_size(repo.get_transaction())[1] / 1024,
816
827
        self.assertEqualDiff(
817
828
"""Shared repository with trees (format: dirstate or dirstate-tags or knit)
818
829
Location:
819
 
  shared repository: repo
 
830
  shared repository: %s
820
831
 
821
832
Format:
822
833
       control: Meta directory format 1
827
838
Repository:
828
839
         0 revisions
829
840
         0 KiB
830
 
""" % (format.repository_format.get_format_description(),
 
841
""" % (repo.bzrdir.root_transport.base,
 
842
       format.repository_format.get_format_description(),
831
843
       ), out)
832
844
        self.assertEqual('', err)
833
845
 
842
854
        self.assertEqualDiff(
843
855
"""Repository tree (format: knit)
844
856
Location:
845
 
  shared repository: repo
846
 
  repository branch: repo/branch1
 
857
  shared repository: %s
 
858
  repository branch: branch1
847
859
 
848
860
Format:
849
861
       control: Meta directory format 1
868
880
Repository:
869
881
         0 revisions
870
882
         0 KiB
871
 
""" % (format.get_branch_format().get_format_description(),
 
883
""" % (repo.bzrdir.root_transport.base,
 
884
       format.get_branch_format().get_format_description(),
872
885
       format.repository_format.get_format_description(),
873
886
       ), out)
874
887
        self.assertEqual('', err)
884
897
        self.assertEqualDiff(
885
898
"""Repository tree (format: knit)
886
899
Location:
887
 
  shared repository: repo
888
 
  repository branch: repo/branch1
 
900
  shared repository: %s
 
901
  repository branch: branch1
889
902
 
890
903
Format:
891
904
       control: Meta directory format 1
913
926
Repository:
914
927
         1 revision
915
928
         %d KiB
916
 
""" % (format.get_branch_format().get_format_description(),
 
929
""" % (repo.bzrdir.root_transport.base,
 
930
       format.get_branch_format().get_format_description(),
917
931
       format.repository_format.get_format_description(),
918
932
       datestring_first, datestring_first,
919
933
       # poking at _revision_store isn't all that clean, but neither is
927
941
        self.assertEqualDiff(
928
942
"""Repository tree (format: knit)
929
943
Location:
930
 
  shared repository: repo
931
 
  repository branch: repo/branch2
 
944
  shared repository: %s
 
945
  repository branch: branch2
932
946
 
933
947
Related branches:
934
 
  parent branch: repo/branch1
 
948
  parent branch: %s
935
949
 
936
950
Format:
937
951
       control: Meta directory format 1
956
970
Repository:
957
971
         1 revision
958
972
         %d KiB
959
 
""" % (format.get_branch_format().get_format_description(),
 
973
""" % (repo.bzrdir.root_transport.base,
 
974
       branch1.bzrdir.root_transport.base,
 
975
       format.get_branch_format().get_format_description(),
960
976
       format.repository_format.get_format_description(),
961
977
       # poking at _revision_store isn't all that clean, but neither is
962
978
       # having the ui test dependent on the exact overhead of a given store.
971
987
        self.assertEqualDiff(
972
988
"""Repository tree (format: knit)
973
989
Location:
974
 
  shared repository: repo
975
 
  repository branch: repo/branch2
 
990
  shared repository: %s
 
991
  repository branch: branch2
976
992
 
977
993
Related branches:
978
 
  parent branch: repo/branch1
 
994
  parent branch: %s
979
995
 
980
996
Format:
981
997
       control: Meta directory format 1
1003
1019
Repository:
1004
1020
         1 revision
1005
1021
         %d KiB
1006
 
""" % (format.get_branch_format().get_format_description(),
 
1022
""" % (repo.bzrdir.root_transport.base,
 
1023
       branch1.bzrdir.root_transport.base,
 
1024
       format.get_branch_format().get_format_description(),
1007
1025
       format.repository_format.get_format_description(),
1008
1026
       datestring_first, datestring_first,
1009
1027
       # poking at _revision_store isn't all that clean, but neither is
1017
1035
        self.assertEqualDiff(
1018
1036
"""Shared repository with trees (format: dirstate or dirstate-tags or knit)
1019
1037
Location:
1020
 
  shared repository: repo
 
1038
  shared repository: %s
1021
1039
 
1022
1040
Format:
1023
1041
       control: Meta directory format 1
1028
1046
Repository:
1029
1047
         1 revision
1030
1048
         %d KiB
1031
 
""" % (format.repository_format.get_format_description(),
 
1049
""" % (repo.bzrdir.root_transport.base,
 
1050
       format.repository_format.get_format_description(),
1032
1051
       # poking at _revision_store isn't all that clean, but neither is
1033
1052
       # having the ui test dependent on the exact overhead of a given store.
1034
1053
       repo._revision_store.total_size(repo.get_transaction())[1] / 1024,
1047
1066
        self.assertEqualDiff(
1048
1067
"""Shared repository with trees (format: dirstate or dirstate-tags or knit)
1049
1068
Location:
1050
 
  shared repository: repo
 
1069
  shared repository: %s
1051
1070
 
1052
1071
Format:
1053
1072
       control: Meta directory format 1
1058
1077
Repository:
1059
1078
         0 revisions
1060
1079
         0 KiB
1061
 
""" % (format.repository_format.get_format_description(),
 
1080
""" % (repo.bzrdir.root_transport.base,
 
1081
       format.repository_format.get_format_description(),
1062
1082
       ), out)
1063
1083
        self.assertEqual('', err)
1064
1084
 
1070
1090
        self.assertEqualDiff(
1071
1091
"""Repository tree (format: knit)
1072
1092
Location:
1073
 
  shared repository: repo
1074
 
  repository branch: repo
 
1093
  shared repository: %s
 
1094
  repository branch: .
1075
1095
 
1076
1096
Format:
1077
1097
       control: Meta directory format 1
1096
1116
Repository:
1097
1117
         0 revisions
1098
1118
         0 KiB
1099
 
""" % (format.get_branch_format().get_format_description(),
 
1119
""" % (repo.bzrdir.root_transport.base,
 
1120
       format.get_branch_format().get_format_description(),
1100
1121
       format.repository_format.get_format_description(),
1101
1122
       ), out)
1102
1123
        self.assertEqual('', err)
1128
1149
        :param repo_locked: If true, expect the repository to be locked.
1129
1150
        :param verbose: If true, expect verbose output
1130
1151
        """
1131
 
        def friendly_location(url):
1132
 
            path = urlutils.unescape_for_display(url, 'ascii')
1133
 
            try:
1134
 
                return osutils.relpath(os.getcwd(), path)
1135
 
            except errors.PathNotChild:
1136
 
                return path
1137
 
 
1138
1152
        if tree_locked and sys.platform == 'win32':
1139
1153
            # We expect this to fail because of locking errors. (A write-locked
1140
1154
            # file cannot be read-locked in the same process).
1172
1186
        extra_space = ''
1173
1187
        if light_checkout:
1174
1188
            tree_data = ("  light checkout root: %s\n" %
1175
 
                friendly_location(lco_tree.bzrdir.root_transport.base))
 
1189
                lco_tree.bzrdir.root_transport.base)
1176
1190
            extra_space = ' '
1177
1191
        if lco_tree.branch.get_bound_location() is not None:
1178
1192
            tree_data += ("%s       checkout root: %s\n" % (extra_space,
1179
 
                friendly_location(lco_tree.branch.bzrdir.root_transport.base)))
 
1193
                lco_tree.branch.bzrdir.root_transport.base))
1180
1194
        if shared_repo is not None:
1181
1195
            branch_data = (
1182
1196
                "   checkout of branch: %s\n"
1183
1197
                "    shared repository: %s\n" %
1184
 
                (friendly_location(repo_branch.bzrdir.root_transport.base),
1185
 
                 friendly_location(shared_repo.bzrdir.root_transport.base)))
 
1198
                (repo_branch.bzrdir.root_transport.base,
 
1199
                 shared_repo.bzrdir.root_transport.base))
1186
1200
        elif repo_branch is not None:
1187
1201
            branch_data = (
1188
1202
                "%s  checkout of branch: %s\n" %
1189
1203
                (extra_space,
1190
 
                 friendly_location(repo_branch.bzrdir.root_transport.base)))
 
1204
                 repo_branch.bzrdir.root_transport.base))
1191
1205
        else:
1192
1206
            branch_data = ("   checkout of branch: %s\n" %
1193
1207
                lco_tree.branch.bzrdir.root_transport.base)
1390
1404
Repository:
1391
1405
         0 revisions
1392
1406
         0 KiB
1393
 
""" % ('branch', tree.branch.repository._format.get_format_description(),
 
1407
""" % (tree.bzrdir.root_transport.base,
 
1408
       tree.branch.repository._format.get_format_description(),
1394
1409
       ), out)
1395
1410
        self.assertEqual('', err)
1396
1411
        # L L L
1424
1439
Repository:
1425
1440
         0 revisions
1426
1441
         0 KiB
1427
 
""" % ('branch', tree.branch.repository._format.get_format_description(),
 
1442
""" % (tree.bzrdir.root_transport.base,
 
1443
       tree.branch.repository._format.get_format_description(),
1428
1444
       ), out)
1429
1445
        self.assertEqual('', err)
1430
1446
        tree.unlock()