/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/builtins.py

  • Committer: Jelmer Vernooij
  • Date: 2018-05-20 15:54:59 UTC
  • mfrom: (6968.2.10 archive)
  • mto: This revision was merged to the branch mainline in revision 6973.
  • Revision ID: jelmer@jelmer.uk-20180520155459-4u1tpealx8jj3sy3
Merge archive branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3311
3311
    def run(self, dest, branch_or_subdir=None, revision=None, format=None,
3312
3312
        root=None, filters=False, per_file_timestamps=False, uncommitted=False,
3313
3313
        directory=u'.'):
3314
 
        from .export import export
 
3314
        from .export import export, guess_format, get_root_name
3315
3315
 
3316
3316
        if branch_or_subdir is None:
3317
3317
            branch_or_subdir = directory
3331
3331
                    'export', revision, branch=b,
3332
3332
                    tree=tree)
3333
3333
 
 
3334
        if format is None:
 
3335
            format = guess_format(dest)
 
3336
 
 
3337
        if root is None:
 
3338
            root = get_root_name(dest)
 
3339
 
 
3340
        if not per_file_timestamps:
 
3341
            force_mtime = time.time()
 
3342
        else:
 
3343
            force_mtime = None
 
3344
 
3334
3345
        if filters:
3335
3346
            from breezy.filter_tree import ContentFilterTree
3336
3347
            export_tree = ContentFilterTree(
3337
3348
                    export_tree, export_tree._content_filter_stack)
3338
3349
 
3339
 
        # Try asking the tree first..
3340
 
        if not per_file_timestamps:
3341
 
            chunks = export_tree.archive(
3342
 
                dest, format, root=root, subdir=subdir)
3343
 
            try:
3344
 
                if dest == '-':
3345
 
                    self.outf.writelines(chunks)
3346
 
                else:
3347
 
                    import tempfile
3348
 
                    with tempfile.NamedTemporaryFile(delete=False) as temp:
3349
 
                        temp.writelines(chunks)
3350
 
                    os.rename(temp.name, dest)
3351
 
            except errors.NoSuchExportFormat:
3352
 
                pass
3353
 
            else:
3354
 
                return
3355
3350
        try:
3356
3351
            export(export_tree, dest, format, root, subdir,
3357
3352
                   per_file_timestamps=per_file_timestamps)