This allows a failed import to leave .rej files in the working
directory.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
short = 'Replace the unapplied patches in the series'),
opt('-b', '--base', args = [argparse.commit],
short = 'Use BASE instead of HEAD for file importing'),
short = 'Replace the unapplied patches in the series'),
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'),
opt('-e', '--edit', action = 'store_true',
short = 'Invoke an editor for the patch description'),
opt('-p', '--showpatch', action = 'store_true',
opt('-e', '--edit', action = 'store_true',
short = 'Invoke an editor for the patch description'),
opt('-p', '--showpatch', action = 'store_true',
else:
out.start('Importing patch "%s"' % patch)
if options.base:
else:
out.start('Importing patch "%s"' % patch)
if options.base:
- git.apply_patch(diff = diff,
- base = git_id(crt_series, options.base))
+ base = git_id(crt_series, options.base)
- git.apply_patch(diff = diff)
+ base = None
+ git.apply_patch(diff = diff, base = base, reject = options.reject)
crt_series.refresh_patch(edit = options.edit,
show_patch = options.showpatch,
sign_str = options.sign_str,
crt_series.refresh_patch(edit = options.edit,
show_patch = options.showpatch,
sign_str = options.sign_str,
GRun('repack', '-a', '-d', '-f').run()
def apply_patch(filename = None, diff = None, base = None,
GRun('repack', '-a', '-d', '-f').run()
def apply_patch(filename = None, diff = None, base = None,
+ fail_dump = True, reject = False):
"""Apply a patch onto the current or given index. There must not
be any local changes in the tree, otherwise the command fails
"""
"""Apply a patch onto the current or given index. There must not
be any local changes in the tree, otherwise the command fails
"""
+ cmd = ['apply', '--index']
+ if reject:
+ cmd += ['--reject']
- GRun('apply', '--index').raw_input(diff).no_output()
+ GRun(*cmd).raw_input(diff).no_output()
except GitRunException:
if base:
switch(orig_head)
except GitRunException:
if base:
switch(orig_head)