~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/builtins.py

  • Committer: Aaron Bentley
  • Date: 2006-06-03 16:23:09 UTC
  • mfrom: (1736 +trunk)
  • mto: This revision was merged to the branch mainline in revision 1738.
  • Revision ID: aaron.bentley@utoronto.ca-20060603162309-c975ca9ea9fea344
Merge from bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
795
795
 
796
796
    This makes bzr stop tracking changes to a versioned file.  It does
797
797
    not delete the working copy.
 
798
 
 
799
    You can specify one or more files, and/or --new.  If you specify --new,
 
800
    only 'added' files will be removed.  If you specify both, then new files
 
801
    in the specified directories will be removed.  If the directories are
 
802
    also new, they will also be removed.
798
803
    """
799
 
    takes_args = ['file+']
800
 
    takes_options = ['verbose']
 
804
    takes_args = ['file*']
 
805
    takes_options = ['verbose', Option('new', help='remove newly-added files')]
801
806
    aliases = ['rm']
802
807
    
803
 
    def run(self, file_list, verbose=False):
 
808
    def run(self, file_list, verbose=False, new=False):
804
809
        tree, file_list = tree_files(file_list)
 
810
        if new is False:
 
811
            if file_list is None:
 
812
                raise BzrCommandError('Specify one or more files to remove, or'
 
813
                                      ' use --new.')
 
814
        else:
 
815
            from bzrlib.delta import compare_trees
 
816
            added = [compare_trees(tree.basis_tree(), tree,
 
817
                                   specific_files=file_list).added]
 
818
            file_list = sorted([f[0] for f in added[0]], reverse=True)
 
819
            if len(file_list) == 0:
 
820
                raise BzrCommandError('No matching files.')
805
821
        tree.remove(file_list, verbose=verbose)
806
822
 
807
823
 
1860
1876
        print "  nick: %s" % (branch.nick,)
1861
1877
        if rh:
1862
1878
            print "  revid: %s" % (rh[-1],)
 
1879
    print "Using python interpreter:", sys.executable
 
1880
    import site
 
1881
    print "Using python standard library:", os.path.dirname(site.__file__)
 
1882
    print "Using bzrlib:",
 
1883
    if len(bzrlib.__path__) > 1:
 
1884
        # print repr, which is a good enough way of making it clear it's
 
1885
        # more than one element (eg ['/foo/bar', '/foo/bzr'])
 
1886
        print repr(bzrlib.__path__)
 
1887
    else:
 
1888
        print bzrlib.__path__[0]
 
1889
 
 
1890
    print
1863
1891
    print bzrlib.__copyright__
1864
1892
    print "http://bazaar-vcs.org/"
1865
1893
    print