~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

  • Committer: Robert Collins
  • Date: 2005-10-13 03:43:37 UTC
  • mfrom: (1185.16.10)
  • Revision ID: robertc@lifelesslap.robertcollins.net-20051013034337-595921e7d73b9ba6
mergeĀ fromĀ martin

Show diffs side-by-side

added added

removed removed

Lines of Context:
266
266
 
267
267
    See also the 'move' command, which moves files into a different
268
268
    directory without changing their name.
269
 
 
270
 
    TODO: Some way to rename multiple files without invoking bzr for each
271
 
    one?"""
 
269
    """
 
270
    # TODO: Some way to rename multiple files without invoking 
 
271
    # bzr for each one?"""
272
272
    takes_args = ['from_name', 'to_name']
273
273
    
274
274
    def run(self, from_name, to_name):
440
440
 
441
441
class cmd_renames(Command):
442
442
    """Show list of renamed files.
443
 
 
444
 
    TODO: Option to show renames between two historical versions.
445
 
 
446
 
    TODO: Only show renames under dir, rather than in the whole branch.
447
443
    """
 
444
    # TODO: Option to show renames between two historical versions.
 
445
 
 
446
    # TODO: Only show renames under dir, rather than in the whole branch.
448
447
    takes_args = ['dir?']
449
448
 
450
449
    def run(self, dir='.'):
568
567
    If files are listed, only the changes in those files are listed.
569
568
    Otherwise, all changes for the tree are listed.
570
569
 
571
 
    TODO: Allow diff across branches.
572
 
 
573
 
    TODO: Option to use external diff command; could be GNU diff, wdiff,
574
 
          or a graphical diff.
575
 
 
576
 
    TODO: Python difflib is not exactly the same as unidiff; should
577
 
          either fix it up or prefer to use an external diff.
578
 
 
579
 
    TODO: If a directory is given, diff everything under that.
580
 
 
581
 
    TODO: Selected-file diff is inefficient and doesn't show you
582
 
          deleted files.
583
 
 
584
 
    TODO: This probably handles non-Unix newlines poorly.
585
 
 
586
570
    examples:
587
571
        bzr diff
588
572
        bzr diff -r1
589
573
        bzr diff -r1..2
590
574
    """
 
575
    # TODO: Allow diff across branches.
 
576
    # TODO: Option to use external diff command; could be GNU diff, wdiff,
 
577
    #       or a graphical diff.
 
578
 
 
579
    # TODO: Python difflib is not exactly the same as unidiff; should
 
580
    #       either fix it up or prefer to use an external diff.
 
581
 
 
582
    # TODO: If a directory is given, diff everything under that.
 
583
 
 
584
    # TODO: Selected-file diff is inefficient and doesn't show you
 
585
    #       deleted files.
 
586
 
 
587
    # TODO: This probably handles non-Unix newlines poorly.
591
588
    
592
589
    takes_args = ['file*']
593
590
    takes_options = ['revision', 'diff-options']
624
621
 
625
622
class cmd_deleted(Command):
626
623
    """List files deleted in the working tree.
627
 
 
628
 
    TODO: Show files deleted since a previous revision, or between two revisions.
629
624
    """
 
625
    # TODO: Show files deleted since a previous revision, or
 
626
    # between two revisions.
 
627
    # TODO: Much more efficient way to do this: read in new
 
628
    # directories with readdir, rather than stating each one.  Same
 
629
    # level of effort but possibly much less IO.  (Or possibly not,
 
630
    # if the directories are very large...)
630
631
    def run(self, show_ids=False):
631
632
        b = Branch.open_containing('.')
632
633
        old = b.basis_tree()
633
634
        new = b.working_tree()
634
 
 
635
 
        ## TODO: Much more efficient way to do this: read in new
636
 
        ## directories with readdir, rather than stating each one.  Same
637
 
        ## level of effort but possibly much less IO.  (Or possibly not,
638
 
        ## if the directories are very large...)
639
 
 
640
635
        for path, ie in old.inventory.iter_entries():
641
636
            if not new.has_id(ie.file_id):
642
637
                if show_ids:
788
783
 
789
784
class cmd_ls(Command):
790
785
    """List files in a tree.
791
 
 
792
 
    TODO: Take a revision or remote path and list that tree instead.
793
786
    """
 
787
    # TODO: Take a revision or remote path and list that tree instead.
794
788
    hidden = True
795
789
    def run(self, revision=None, verbose=False):
796
790
        b = Branch.open_containing('.')
822
816
    To remove patterns from the ignore list, edit the .bzrignore file.
823
817
 
824
818
    If the pattern contains a slash, it is compared to the whole path
825
 
    from the branch root.  Otherwise, it is comapred to only the last
826
 
    component of the path.
 
819
    from the branch root.  Otherwise, it is compared to only the last
 
820
    component of the path.  To match a file only in the root directory,
 
821
    prepend './'.
827
822
 
828
823
    Ignore patterns are case-insensitive on case-insensitive systems.
829
824
 
833
828
        bzr ignore ./Makefile
834
829
        bzr ignore '*.class'
835
830
    """
 
831
    # TODO: Complain if the filename is absolute
836
832
    takes_args = ['name_pattern']
837
833
    
838
834
    def run(self, name_pattern):
985
981
    A selected-file commit may fail in some cases where the committed
986
982
    tree would be invalid, such as trying to commit a file in a
987
983
    newly-added directory that is not itself committed.
988
 
 
989
 
    TODO: Run hooks on tree to-be-committed, and after commit.
990
 
 
991
 
    TODO: Strict commit that fails if there are unknown or deleted files.
992
984
    """
 
985
    # TODO: Run hooks on tree to-be-committed, and after commit.
 
986
 
 
987
    # TODO: Strict commit that fails if there are unknown or deleted files.
 
988
    # TODO: Give better message for -s, --summary, used by tla people
 
989
 
 
990
    # XXX: verbose currently does nothing
 
991
 
993
992
    takes_args = ['selected*']
994
993
    takes_options = ['message', 'file', 'verbose', 'unchanged']
995
994
    aliases = ['ci', 'checkin']
996
995
 
997
 
    # TODO: Give better message for -s, --summary, used by tla people
998
 
 
999
 
    # XXX: verbose currently does nothing
1000
 
    
1001
996
    def run(self, message=None, file=None, verbose=True, selected_list=None,
1002
997
            unchanged=False):
1003
998
        from bzrlib.errors import PointlessCommit, ConflictsInTree
1176
1171
 
1177
1172
class cmd_find_merge_base(Command):
1178
1173
    """Find and print a base revision for merging two branches.
1179
 
 
1180
 
    TODO: Options to specify revisions on either side, as if
1181
 
          merging only part of the history.
1182
1174
    """
 
1175
    # TODO: Options to specify revisions on either side, as if
 
1176
    #       merging only part of the history.
1183
1177
    takes_args = ['branch', 'other']
1184
1178
    hidden = True
1185
1179