[StGit PATCH] Add import -p option
From: Catalin Marinas <hidden>
Date: 2016-06-15 22:47:22
This patch renames some of the existing import options and adds the -p (--strip) option which allows stripping the leading slashes of the diff paths. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> --- stgit/commands/imprt.py | 13 ++++++++----- stgit/git.py | 4 +++- 2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/stgit/commands/imprt.py b/stgit/commands/imprt.py
index 8067beb..0bbacbc 100644
--- a/stgit/commands/imprt.py
+++ b/stgit/commands/imprt.py@@ -57,7 +57,9 @@ options = [ short = 'Import a patch from a URL'), opt('-n', '--name', short = 'Use NAME as the patch name'), - opt('-t', '--strip', action = 'store_true', + opt('-p', '--strip', type = 'int', metavar = 'N', + short = 'Remove N leading slashes from diff paths (default 1)'), + opt('-t', '--stripname', action = 'store_true', short = 'Strip numbering and extension from patch name'), opt('-i', '--ignore', action = 'store_true', short = 'Ignore the applied patches in the series'),
@@ -69,7 +71,7 @@ options = [ 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('-d', '--showdiff', action = 'store_true', short = 'Show the patch content in the editor buffer'), opt('-a', '--author', metavar = '"NAME <EMAIL>"', short = 'Use "NAME <EMAIL>" as the author details'),
@@ -104,7 +106,7 @@ def __create_patch(filename, message, author_name,author_email,
patch = os.path.basename(filename)
else:
patch = ''
- if options.strip:
+ if options.stripname:
patch = __strip_patch_name(patch)
if not patch:@@ -152,9 +154,10 @@ 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)
+ git.apply_patch(diff = diff, base = base, reject = options.reject,
+ strip = options.strip)
crt_series.refresh_patch(edit = options.edit,
- show_patch = options.showpatch,
+ show_patch = options.showdiff,
sign_str = options.sign_str,
backup = False)
out.done()diff --git a/stgit/git.py b/stgit/git.py
index 268c44b..0886207 100644
--- a/stgit/git.py
+++ b/stgit/git.py@@ -818,7 +818,7 @@ def repack(): GRun('repack', '-a', '-d', '-f').run() def apply_patch(filename = None, diff = None, base = None, - fail_dump = True, reject = False): + fail_dump = True, reject = False, strip = None): """Apply a patch onto the current or given index. There must not be any local changes in the tree, otherwise the command fails """
@@ -840,6 +840,8 @@ def apply_patch(filename = None, diff = None, base = None, cmd = ['apply', '--index'] if reject: cmd += ['--reject'] + if strip: + cmd += ['-p', strip] try: GRun(*cmd).raw_input(diff).no_output() except GitRunException: