~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/commands.py

  • Committer: mbp at sourcefrog
  • Date: 2005-03-23 03:09:50 UTC
  • Revision ID: mbp@sourcefrog.net-20050323030950-c762f4c38f99dbd9
Prepare for smart recursive add.

- New Inventory.add_path, so that callers don't need to know so much
  about path lookup.

- Make gen_file_id public.

- New add module and smart_add function; does previous add operations
  more cleanly but not recursive mode yet.

- New warning() function.

Show diffs side-by-side

added added

removed removed

Lines of Context:
165
165
    print Branch('.').revno()
166
166
    
167
167
 
 
168
    
168
169
def cmd_add(file_list, verbose=False):
169
 
    """Add specified files.
 
170
    """Add specified files or directories.
 
171
 
 
172
    In non-recursive mode, all the named items are added, regardless
 
173
    of whether they were previously ignored.  A warning is given if
 
174
    any of the named files are already versioned.
 
175
 
 
176
    In recursive mode (the default), files are treated the same way
 
177
    but the behaviour for directories is different.  Directories that
 
178
    are already versioned do not give a warning.  All directories,
 
179
    whether already versioned or not, are searched for files or
 
180
    subdirectories that are neither versioned or ignored, and these
 
181
    are added.  This search proceeds recursively into versioned
 
182
    directories.
 
183
 
 
184
    Therefore simply saying 'bzr add .' will version all files that
 
185
    are currently unknown.
 
186
    """
 
187
    if True:
 
188
        bzrlib.add.smart_add(file_list, verbose)
 
189
    else:
 
190
        # old way
 
191
        assert file_list
 
192
        b = Branch(file_list[0], find_root=True)
 
193
        b.add([b.relpath(f) for f in file_list], verbose=verbose)
 
194
 
170
195
    
171
 
    Fails if the files are already added.
172
 
    """
173
 
    assert file_list
174
 
    b = Branch(file_list[0], find_root=True)
175
 
    b.add([b.relpath(f) for f in file_list], verbose=verbose)
176
 
 
177
196
 
178
197
def cmd_relpath(filename):
179
198
    print Branch(filename).relpath(filename)
508
527
    bzrlib.trace.verbose = False
509
528
 
510
529
    for m in bzrlib.store, bzrlib.inventory, bzrlib.branch, bzrlib.osutils, \
511
 
        bzrlib.tree, bzrlib.tests, bzrlib.commands:
 
530
        bzrlib.tree, bzrlib.tests, bzrlib.commands, bzrlib.add:
512
531
        mf, mt = doctest.testmod(m)
513
532
        failures += mf
514
533
        tests += mt