X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/0d219030bbc792da477f721578e0acc1256fc6d0..6dd8fafabb5b8e266a85f13c8851ca8a66a1a405:/stgit/commands/export.py diff --git a/stgit/commands/export.py b/stgit/commands/export.py index d6b36a9..d8ce86d 100644 --- a/stgit/commands/export.py +++ b/stgit/commands/export.py @@ -23,6 +23,7 @@ from optparse import OptionParser, make_option from stgit.commands.common import * from stgit.utils import * +from stgit.out import * from stgit import stack, git, templates @@ -48,6 +49,7 @@ file: %(commemail)s - committer's e-mail """ +directory = DirectoryHasRepository() options = [make_option('-d', '--dir', help = 'export patches to DIR instead of the default'), make_option('-p', '--patch', @@ -62,9 +64,8 @@ options = [make_option('-d', '--dir', help = 'Use FILE as a template'), make_option('-b', '--branch', help = 'use BRANCH instead of the default one'), - make_option('--binary', - help = 'output a diff even for binary files', - action = 'store_true'), + make_option('-O', '--diff-opts', + help = 'options to pass to git-diff'), make_option('-s', '--stdout', help = 'dump the patches to the standard output', action = 'store_true')] @@ -76,7 +77,7 @@ def func(parser, options, args): if options.dir: dirname = options.dir else: - dirname = 'patches-%s' % crt_series.get_branch() + dirname = 'patches-%s' % crt_series.get_name() if not options.branch and git.local_changes(): out.warn('Local changes in the tree;' @@ -87,8 +88,8 @@ def func(parser, options, args): os.makedirs(dirname) series = file(os.path.join(dirname, 'series'), 'w+') - if options.binary: - diff_flags = [ '--binary' ] + if options.diff_opts: + diff_flags = options.diff_opts.split() else: diff_flags = [] @@ -175,13 +176,10 @@ def func(parser, options, args): print patch.get_name() print '-'*79 - # write description f.write(descr) - # write the diff - git.diff(rev1 = patch.get_bottom(), - rev2 = patch.get_top(), - out_fd = f, - diff_flags = diff_flags ) + f.write(git.diff(rev1 = patch.get_bottom(), + rev2 = patch.get_top(), + diff_flags = diff_flags)) if not options.stdout: f.close() patch_no += 1