[StGit PATCH 3/5] Do not create an empty patch if import failed without --reject
- From
- Catalin Marinas <catalin.marinas@gmail.com>
- Date
- Sep 16, 2009, 21:41 UTC
- Message-ID
- <20090916214105.6622.24307.stgit@toshiba-laptop>
- In-Reply-To
- <20090916214049.6622.44662.stgit@toshiba-laptop>
If the import failed, do not leave an empty patch on the stack. If this is required, the --reject option should be passed. The patch also fixes a lowercase typo in the --reject option description.
Signed-off-by: Catalin Marinas <catalin.marinas@gmail.com> --- stgit/commands/imprt.py | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/stgit/commands/imprt.py b/stgit/commands/imprt.py index aa75065..de77635 100644 --- a/stgit/commands/imprt.py +++ b/stgit/commands/imprt.py @@ -68,7 +68,7 @@ options = [ opt('-b', '--base', args = [argparse.commit], short = 'Use BASE instead of HEAD for file importing'), opt('--reject', action = 'store_true', - short = 'leave the rejected hunks in corresponding *.rej files'), + short = 'Leave the rejected hunks in corresponding *.rej files'), opt('-e', '--edit', action = 'store_true', short = 'Invoke an editor for the patch description'), opt('-d', '--showdiff', action = 'store_true', @@ -154,8 +154,13 @@ def __create_patch(filename, message, author_name, author_email, base = git_id(crt_series, options.base) else: base = None - git.apply_patch(diff = diff, base = base, reject = options.reject, - strip = options.strip) + try: + git.apply_patch(diff = diff, base = base, reject = options.reject, + strip = options.strip) + except git.GitException: + if not options.reject: + crt_series.delete_patch(patch) + raise crt_series.refresh_patch(edit = options.edit, show_patch = options.showdiff, author_date = author_date,