~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commands.py

  • Committer: Martin Pool
  • Date: 2005-05-25 03:27:02 UTC
  • Revision ID: mbp@sourcefrog.net-20050525032702-395f038adb33c235
- clean up statcache code
- stat files in order by inum
- report on added/deleted files

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 
18
18
 
19
19
import sys, os, time, os.path
20
 
from sets import Set
21
20
 
22
21
import bzrlib
23
22
from bzrlib.trace import mutter, note, log_error
494
493
 
495
494
    def run(self, revision=None, file_list=None):
496
495
        from bzrlib.diff import show_diff
 
496
        from bzrlib import find_branch
 
497
 
 
498
        if file_list:
 
499
            b = find_branch(file_list[0], lock_mode='r')
 
500
            file_list = [b.relpath(f) for f in file_list]
 
501
            if file_list == ['']:
 
502
                # just pointing to top-of-tree
 
503
                file_list = None
 
504
        else:
 
505
            b = Branch('.', lock_mode='r')
497
506
    
498
 
        show_diff(Branch('.'), revision, specific_files=file_list)
 
507
        show_diff(b, revision, specific_files=file_list)
499
508
 
500
509
 
501
510
        
586
595
    """Show log of this branch.
587
596
 
588
597
    TODO: Option to limit range.
589
 
 
590
 
    TODO: Perhaps show most-recent first with an option for last.
591
598
    """
 
599
 
592
600
    takes_args = ['filename?']
593
 
    takes_options = ['timezone', 'verbose', 'show-ids']
594
 
    def run(self, filename=None, timezone='original', verbose=False, show_ids=False):
595
 
        from branch import find_branch
596
 
        b = find_branch((filename or '.'), lock_mode='r')
 
601
    takes_options = ['forward', 'timezone', 'verbose', 'show-ids']
 
602
    
 
603
    def run(self, filename=None, timezone='original',
 
604
            verbose=False,
 
605
            show_ids=False,
 
606
            forward=False):
 
607
        from bzrlib import show_log, find_branch
 
608
 
 
609
        direction = (forward and 'forward') or 'reverse'
 
610
        
597
611
        if filename:
598
 
            filename = b.relpath(filename)
599
 
        bzrlib.show_log(b, filename,
600
 
                        show_timezone=timezone,
601
 
                        verbose=verbose,
602
 
                        show_ids=show_ids)
 
612
            b = find_branch(filename, lock_mode='r')
 
613
            fp = b.relpath(filename)
 
614
            if fp:
 
615
                file_id = b.read_working_inventory().path2id(fp)
 
616
            else:
 
617
                file_id = None  # points to branch root
 
618
        else:
 
619
            b = find_branch('.', lock_mode='r')
 
620
            file_id = None
 
621
 
 
622
        show_log(b, file_id,
 
623
                 show_timezone=timezone,
 
624
                 verbose=verbose,
 
625
                 show_ids=show_ids,
 
626
                 to_file=sys.stdout,
 
627
                 direction=direction)
603
628
 
604
629
 
605
630
 
606
631
class cmd_touching_revisions(Command):
607
 
    """Return revision-ids which affected a particular file."""
 
632
    """Return revision-ids which affected a particular file.
 
633
 
 
634
    A more user-friendly interface is "bzr log FILE"."""
608
635
    hidden = True
609
636
    takes_args = ["filename"]
610
637
    def run(self, filename):
842
869
    def run(self):
843
870
        failures, tests = 0, 0
844
871
 
845
 
        import doctest, bzrlib.store, bzrlib.tests
 
872
        import doctest, bzrlib.store
846
873
        bzrlib.trace.verbose = False
847
874
 
848
875
        for m in bzrlib.store, bzrlib.inventory, bzrlib.branch, bzrlib.osutils, \
948
975
    'all':                    None,
949
976
    'help':                   None,
950
977
    'file':                   unicode,
 
978
    'forward':                None,
951
979
    'message':                unicode,
952
980
    'profile':                None,
953
981
    'revision':               int,