~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

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

Make bzr info command work on both local and remote locations. Support
branches and repositories, next to working trees.

Show diffs side-by-side

added added

removed removed

Lines of Context:
63
63
 
64
64
Branch history:
65
65
         0 revisions
66
 
         0 committers
67
66
 
68
67
Revision store:
69
68
         0 revisions
77
76
        # Branch standalone with push location
78
77
        branch2 = branch1.bzrdir.sprout('branch').open_branch()
79
78
        branch2.set_push_location(branch1.bzrdir.root_transport.base)
80
 
        out, err = self.runbzr('info branch')
 
79
        out, err = self.runbzr('info branch --verbose')
81
80
        self.assertEqualDiff(
82
81
"""Location:
83
82
         branch root: %s
149
148
 
150
149
Branch history:
151
150
         1 revision
152
 
         1 committer
153
151
         0 days old
154
152
   first revision: %s
155
153
  latest revision: %s
169
167
        bzrlib.bzrdir.BzrDirFormat.set_default_format(old_format)
170
168
        branch4.bind(branch1)
171
169
        branch4.bzrdir.open_workingtree().update()
172
 
        out, err = self.runbzr('info checkout')
 
170
        out, err = self.runbzr('info checkout --verbose')
173
171
        self.assertEqualDiff(
174
172
"""Location:
175
173
         branch root: %s
239
237
 
240
238
Branch history:
241
239
         1 revision
242
 
         1 committer
243
240
         0 days old
244
241
   first revision: %s
245
242
  latest revision: %s
284
281
 
285
282
Branch history:
286
283
         1 revision
287
 
         1 committer
288
284
         0 days old
289
285
   first revision: %s
290
286
  latest revision: %s
325
321
 
326
322
Branch history:
327
323
         1 revision
328
 
         1 committer
329
324
         0 days old
330
325
   first revision: %s
331
326
  latest revision: %s
365
360
 
366
361
Branch history:
367
362
         1 revision
368
 
         1 committer
369
363
         0 days old
370
364
   first revision: %s
371
365
  latest revision: %s
378
372
        self.assertEqual('', err)
379
373
 
380
374
        # Out of date lightweight checkout
381
 
        out, err = self.runbzr('info lightcheckout')
 
375
        out, err = self.runbzr('info lightcheckout --verbose')
382
376
        self.assertEqualDiff(
383
377
"""Location:
384
378
       checkout root: %s
420
414
        old_format = bzrlib.bzrdir.BzrDirFormat.get_default_format()
421
415
        bzrlib.bzrdir.BzrDirFormat.set_default_format(bzrlib.bzrdir.BzrDirMetaFormat1())
422
416
        transport = self.get_transport()
 
417
 
423
418
        # Create shared repository
424
419
        repo = self.make_repository('repo', shared=True)
425
420
        repo.set_make_working_trees(False)
 
421
        out, err = self.runbzr('info repo')
 
422
        self.assertEqualDiff(
 
423
"""Location:
 
424
   shared repository: %s
 
425
 
 
426
Format:
 
427
       control: Meta directory format 1
 
428
    repository: Weave repository format 7
 
429
 
 
430
Revision store:
 
431
         0 revisions
 
432
         0 KiB
 
433
""" % repo.bzrdir.root_transport.base, out)
 
434
        self.assertEqual('', err)
 
435
 
 
436
        # Create branch inside shared repository
426
437
        repo.bzrdir.root_transport.mkdir('branch')
427
438
        branch1 = repo.bzrdir.create_branch_convenience('repo/branch')
 
439
        out, err = self.runbzr('info repo/branch')
 
440
        self.assertEqualDiff(
 
441
"""Location:
 
442
         branch root: %s
 
443
   shared repository: %s
 
444
 
 
445
Format:
 
446
       control: Meta directory format 1
 
447
        branch: Branch format 5
 
448
    repository: Weave repository format 7
 
449
 
 
450
Branch history:
 
451
         0 revisions
 
452
 
 
453
Revision store:
 
454
         0 revisions
 
455
         0 KiB
 
456
""" % (branch1.bzrdir.root_transport.base,
 
457
       repo.bzrdir.root_transport.base), out)
 
458
        self.assertEqual('', err)
428
459
 
429
460
        # Create lightweight checkout
430
461
        transport.mkdir('tree')
459
490
 
460
491
Branch history:
461
492
         0 revisions
462
 
         0 committers
463
493
 
464
494
Revision store:
465
495
         0 revisions
474
504
        branch3.bind(branch1)
475
505
        tree3 = branch3.bzrdir.open_workingtree()
476
506
        tree3.update()
477
 
        out, err = self.runbzr('info tree/checkout')
 
507
        out, err = self.runbzr('info tree/checkout --verbose')
478
508
        self.assertEqualDiff(
479
509
"""Location:
480
510
         branch root: %s
513
543
        tree2.commit('commit one')
514
544
        rev = repo.get_revision(branch2.revision_history()[0])
515
545
        datestring_first = format_date(rev.timestamp, rev.timezone)
516
 
        out, err = self.runbzr('info tree/lightcheckout')
 
546
        out, err = self.runbzr('info tree/lightcheckout --verbose')
517
547
        self.assertEqualDiff(
518
548
"""Location:
519
549
       checkout root: %s
579
609
 
580
610
Branch history:
581
611
         0 revisions
582
 
         0 committers
583
612
 
584
613
Revision store:
585
614
         0 revisions
592
621
        tree3.update()
593
622
        self.build_tree(['tree/checkout/b'])
594
623
        tree3.add('b')
595
 
        out, err = self.runbzr('info tree/checkout')
 
624
        out, err = self.runbzr('info tree/checkout --verbose')
596
625
        self.assertEqualDiff(
597
626
"""Location:
598
627
         branch root: %s
632
661
        # Out of date lightweight checkout
633
662
        rev = repo.get_revision(branch1.revision_history()[-1])
634
663
        datestring_last = format_date(rev.timestamp, rev.timezone)
635
 
        out, err = self.runbzr('info tree/lightcheckout')
 
664
        out, err = self.runbzr('info tree/lightcheckout --verbose')
636
665
        self.assertEqualDiff(
637
666
"""Location:
638
667
       checkout root: %s
673
702
       datestring_first, datestring_last), out)
674
703
        self.assertEqual('', err)
675
704
 
 
705
        # Show info about shared branch
 
706
        out, err = self.runbzr('info repo/branch --verbose')
 
707
        self.assertEqualDiff(
 
708
"""Location:
 
709
         branch root: %s
 
710
   shared repository: %s
 
711
 
 
712
Format:
 
713
       control: Meta directory format 1
 
714
        branch: Branch format 5
 
715
    repository: Weave repository format 7
 
716
 
 
717
Branch history:
 
718
         2 revisions
 
719
         1 committer
 
720
         0 days old
 
721
   first revision: %s
 
722
  latest revision: %s
 
723
 
 
724
Revision store:
 
725
         2 revisions
 
726
         0 KiB
 
727
""" % (branch1.bzrdir.root_transport.base,
 
728
       repo.bzrdir.root_transport.base,
 
729
       datestring_first, datestring_last), out)
 
730
        self.assertEqual('', err)
 
731
 
 
732
        # Show info about repository with revisions
 
733
        out, err = self.runbzr('info repo')
 
734
        self.assertEqualDiff(
 
735
"""Location:
 
736
   shared repository: %s
 
737
 
 
738
Format:
 
739
       control: Meta directory format 1
 
740
    repository: Weave repository format 7
 
741
 
 
742
Revision store:
 
743
         2 revisions
 
744
         0 KiB
 
745
""" % repo.bzrdir.root_transport.base, out)
 
746
        self.assertEqual('', err)
 
747
 
676
748
        bzrlib.bzrdir.BzrDirFormat.set_default_format(old_format)
677
749
 
678
750
    def test_info_shared_repository_with_trees(self):
680
752
        bzrlib.bzrdir.BzrDirFormat.set_default_format(bzrlib.bzrdir.BzrDirMetaFormat1())
681
753
        transport = self.get_transport()
682
754
 
683
 
        # Create shared repository containing two branches with working trees
 
755
        # Create shared repository with working trees
684
756
        repo = self.make_repository('repo', shared=True)
685
757
        repo.set_make_working_trees(True)
 
758
        out, err = self.runbzr('info repo')
 
759
        self.assertEqualDiff(
 
760
"""Location:
 
761
   shared repository: %s
 
762
 
 
763
Format:
 
764
       control: Meta directory format 1
 
765
    repository: Weave repository format 7
 
766
 
 
767
Create working tree for new branches inside the repository.
 
768
 
 
769
Revision store:
 
770
         0 revisions
 
771
         0 KiB
 
772
""" % repo.bzrdir.root_transport.base, out)
 
773
        self.assertEqual('', err)
 
774
 
 
775
        # Create two branches
686
776
        repo.bzrdir.root_transport.mkdir('branch1')
687
777
        branch1 = repo.bzrdir.create_branch_convenience('repo/branch1')
688
778
        branch2 = branch1.bzrdir.sprout('repo/branch2').open_branch()
689
779
 
690
780
        # Empty first branch
691
 
        out, err = self.runbzr('info repo/branch1')
 
781
        out, err = self.runbzr('info repo/branch1 --verbose')
692
782
        self.assertEqualDiff(
693
783
"""Location:
694
784
         branch root: %s
752
842
 
753
843
Branch history:
754
844
         1 revision
755
 
         1 committer
756
845
         0 days old
757
846
   first revision: %s
758
847
  latest revision: %s
765
854
        self.assertEqual('', err)
766
855
 
767
856
        # Out of date second branch
768
 
        out, err = self.runbzr('info repo/branch2')
 
857
        out, err = self.runbzr('info repo/branch2 --verbose')
769
858
        self.assertEqualDiff(
770
859
"""Location:
771
860
         branch root: %s
827
916
 
828
917
Branch history:
829
918
         1 revision
830
 
         1 committer
831
919
         0 days old
832
920
   first revision: %s
833
921
  latest revision: %s
841
929
       datestring_first, datestring_first), out)
842
930
        self.assertEqual('', err)
843
931
 
 
932
        # Show info about repository with revisions
 
933
        out, err = self.runbzr('info repo')
 
934
        self.assertEqualDiff(
 
935
"""Location:
 
936
   shared repository: %s
 
937
 
 
938
Format:
 
939
       control: Meta directory format 1
 
940
    repository: Weave repository format 7
 
941
 
 
942
Create working tree for new branches inside the repository.
 
943
 
 
944
Revision store:
 
945
         1 revision
 
946
         0 KiB
 
947
""" % repo.bzrdir.root_transport.base, out)
 
948
        self.assertEqual('', err)
 
949
 
844
950
        bzrlib.bzrdir.BzrDirFormat.set_default_format(old_format)