~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/bundle/commands.py

Merge bzr.dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
64
64
 
65
65
    You can apply it to another tree using 'bzr merge'.
66
66
 
67
 
    bzr bundle
 
67
    bzr bundle-revisions
68
68
        - Bundle for the last commit
69
 
    bzr bundle BASE
 
69
    bzr bundle-revisions BASE
70
70
        - Bundle to apply the current tree into BASE
71
 
    bzr bundle --revision A
 
71
    bzr bundle-revisions --revision A
72
72
        - Bundle for revision A
73
 
    bzr bundle --revision A..B
 
73
    bzr bundle-revisions --revision A..B
74
74
        - Bundle to transform A into B
75
 
    bzr bundle --revision A..B BASE
 
75
    bzr bundle-revisions --revision A..B BASE
76
76
        - Bundle to transform revision A of BASE into revision B
77
77
          of the local tree
78
78
    """
79
 
    takes_options = ['verbose', 'revision']
 
79
    takes_options = ['verbose', 'revision',
 
80
                     Option("output", help="write bundle to specified file",
 
81
                            type=unicode)]
80
82
    takes_args = ['base?']
81
83
    aliases = ['bundle']
82
84
 
83
 
    def run(self, base=None, revision=None):
 
85
    def run(self, base=None, revision=None, output=None):
84
86
        from bzrlib import user_encoding
85
87
        from bzrlib.bundle.serializer import write_bundle
86
88
 
132
134
            target_branch.repository.fetch(base_branch.repository, 
133
135
                                           revision_id=base_revision)
134
136
            del base_branch
 
137
 
 
138
        if output is not None:
 
139
            fileobj = file(output, 'wb')
 
140
        else:
 
141
            fileobj = sys.stdout
135
142
        write_bundle(target_branch.repository, target_revision, base_revision,
136
 
                     sys.stdout)
 
143
                     fileobj)
137
144
 
138
145
 
139
146
class cmd_verify_changeset(Command):