275
275
--dry-run will show which files would be added, but not actually
278
--file-ids-from will try to use the file ids from the supplied path.
279
It looks up ids trying to find a matching parent directory with the
280
same filename, and then by pure path.
278
282
takes_args = ['file*']
279
takes_options = ['no-recurse', 'dry-run', 'verbose']
283
takes_options = ['no-recurse', 'dry-run', 'verbose',
284
Option('file-ids-from', type=unicode,
285
help='Lookup file ids from here')]
280
286
encoding_type = 'replace'
282
def run(self, file_list, no_recurse=False, dry_run=False, verbose=False):
288
def run(self, file_list, no_recurse=False, dry_run=False, verbose=False,
283
290
import bzrlib.add
285
action = bzrlib.add.AddAction(to_file=self.outf,
286
should_print=(not is_quiet()))
288
added, ignored = bzrlib.add.smart_add(file_list, not no_recurse,
292
if file_ids_from is not None:
294
base_tree, base_path = WorkingTree.open_containing(
296
except errors.NoWorkingTree:
297
base_branch, base_path = branch.Branch.open_containing(
299
base_tree = base_branch.basis_tree()
301
action = bzrlib.add.AddFromBaseAction(base_tree, base_path,
302
to_file=self.outf, should_print=(not is_quiet()))
304
action = bzrlib.add.AddAction(to_file=self.outf,
305
should_print=(not is_quiet()))
307
added, ignored = bzrlib.add.smart_add(file_list, not no_recurse,
289
308
action=action, save=not dry_run)
290
309
if len(ignored) > 0:
762
781
old_format = bzrdir.BzrDirFormat.get_default_format()
763
782
bzrdir.BzrDirFormat.set_default_format(bzrdir.BzrDirMetaFormat1())
766
checkout = bzrdir.BzrDirMetaFormat1().initialize(to_location)
767
branch.BranchReferenceFormat().initialize(checkout, source)
769
checkout_branch = bzrdir.BzrDir.create_branch_convenience(
770
to_location, force_new_tree=False)
771
checkout = checkout_branch.bzrdir
772
checkout_branch.bind(source)
773
if revision_id is not None:
774
rh = checkout_branch.revision_history()
775
checkout_branch.set_revision_history(rh[:rh.index(revision_id) + 1])
776
checkout.create_workingtree(revision_id)
784
source.create_checkout(to_location, revision_id, lightweight)
778
786
bzrdir.BzrDirFormat.set_default_format(old_format)
1944
1952
Option('lsprof-timed',
1945
1953
help='generate lsprof output for benchmarked'
1946
1954
' sections of code.'),
1955
Option('cache-dir', type=str,
1956
help='a directory to cache intermediate'
1957
' benchmark steps'),
1949
1960
def run(self, testspecs_list=None, verbose=None, one=False,
1950
1961
keep_output=False, transport=None, benchmark=None,
1962
lsprof_timed=None, cache_dir=None):
1952
1963
import bzrlib.ui
1953
1964
from bzrlib.tests import selftest
1954
1965
import bzrlib.benchmarks as benchmarks
1966
from bzrlib.benchmarks import tree_creator
1968
if cache_dir is not None:
1969
tree_creator.TreeCreator.CACHE_ROOT = osutils.abspath(cache_dir)
1955
1970
# we don't want progress meters from the tests to go to the
1956
1971
# real output; and we don't want log messages cluttering up
1957
1972
# the real logs.