X-Git-Url: https://git.distorted.org.uk/~mdw/stgit/blobdiff_plain/2f7c8b0ba410854dc7dd0c2282323cc04dfcce8e..bae29dddde41058567a5ef9b44c160dd76b1c025:/stgit/commands/export.py diff --git a/stgit/commands/export.py b/stgit/commands/export.py index 5f43da5..b33c9ea 100644 --- a/stgit/commands/export.py +++ b/stgit/commands/export.py @@ -63,7 +63,7 @@ options = [make_option('-n', '--numbered', def func(parser, options, args): if len(args) == 0: - dirname = 'patches' + dirname = 'patches-%s' % crt_series.get_branch() elif len(args) == 1: dirname = args[0] else: @@ -78,6 +78,7 @@ def func(parser, options, args): series = file(os.path.join(dirname, 'series'), 'w+') applied = crt_series.get_applied() + unapplied = crt_series.get_unapplied() if options.range: boundaries = options.range.split(':') @@ -99,11 +100,18 @@ def func(parser, options, args): if start in applied: start_idx = applied.index(start) else: - raise CmdException, 'Patch "%s" not applied' % start + if start in unapplied: + raise CmdException, 'Patch "%s" not applied' % start + else: + raise CmdException, 'Patch "%s" does not exist' % start + if stop in applied: stop_idx = applied.index(stop) + 1 else: - raise CmdException, 'Patch "%s" not applied' % stop + if stop in unapplied: + raise CmdException, 'Patch "%s" not applied' % stop + else: + raise CmdException, 'Patch "%s" does not exist' % stop if start_idx >= stop_idx: raise CmdException, 'Incorrect patch range order' @@ -124,7 +132,7 @@ def func(parser, options, args): else: patch_tmpl_list = [] - patch_tmpl_list += [os.path.join(git.base_dir, 'patchexport.tmpl'), + patch_tmpl_list += [os.path.join(git.get_base_dir(), 'patchexport.tmpl'), os.path.join(sys.prefix, 'share/stgit/templates/patchexport.tmpl')] tmpl = '' @@ -147,8 +155,8 @@ def func(parser, options, args): patch = crt_series.get_patch(p) tmpl_dict = {'description': patch.get_description().rstrip(), - 'diffstat': git.diffstat(rev1 = git_id('%s/bottom' % p), - rev2 = git_id('%s/top' % p)), + 'diffstat': git.diffstat(rev1 = patch.get_bottom(), + rev2 = patch.get_top()), 'authname': patch.get_authname(), 'authemail': patch.get_authemail(), 'authdate': patch.get_authdate(), @@ -170,8 +178,8 @@ def func(parser, options, args): f.write(descr) # write the diff - git.diff(rev1 = git_id('%s/bottom' % p), - rev2 = git_id('%s/top' % p), + git.diff(rev1 = patch.get_bottom(), + rev2 = patch.get_top(), out_fd = f) f.close() patch_no += 1