From: Daniel Barkalow Date: Tue, 31 Jan 2006 05:36:24 +0000 (-0500) Subject: Make apply accept the -pNUM option like patch does. X-Git-Tag: v1.2.0~89 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=e36f8b6034f9df7e7b0aea912d1c8e850503623e;p=git.git Make apply accept the -pNUM option like patch does. This only applies to traditional diffs, not to git diffs. Signed-off-by: Daniel Barkalow Signed-off-by: Junio C Hamano --- diff --git a/Documentation/git-apply.txt b/Documentation/git-apply.txt index 51c7d4709..75076b612 100644 --- a/Documentation/git-apply.txt +++ b/Documentation/git-apply.txt @@ -10,7 +10,7 @@ SYNOPSIS -------- [verse] 'git-apply' [--stat] [--numstat] [--summary] [--check] [--index] [--apply] - [--no-add] [--index-info] [--allow-binary-replacement] [-z] + [--no-add] [--index-info] [--allow-binary-replacement] [-z] [-pNUM] [...] DESCRIPTION @@ -68,6 +68,10 @@ OPTIONS backslash characters replaced with `\t`, `\n`, and `\\`, respectively. +-p:: + Remove leading slashes from traditional diff paths. The + default is 1. + --apply:: If you use any of the options marked ``Turns off "apply"'' above, git-apply reads and outputs the diff --git a/apply.c b/apply.c index c471a82e8..79e23a7fb 100644 --- a/apply.c +++ b/apply.c @@ -19,6 +19,7 @@ static const char *prefix; static int prefix_length = -1; +static int p_value = 1; static int allow_binary_replacement = 0; static int check_index = 0; static int write_index = 0; @@ -31,7 +32,7 @@ static int no_add = 0; static int show_index_info = 0; static int line_termination = '\n'; static const char apply_usage[] = -"git-apply [--stat] [--numstat] [--summary] [--check] [--index] [--apply] [--no-add] [--index-info] [--allow-binary-replacement] [-z] ..."; +"git-apply [--stat] [--numstat] [--summary] [--check] [--index] [--apply] [--no-add] [--index-info] [--allow-binary-replacement] [-z] [-pNUM] ..."; /* * For "diff-stat" like behaviour, we keep track of the biggest change @@ -217,7 +218,6 @@ static char * find_name(const char *line, char *def, int p_value, int terminate) */ static void parse_traditional_patch(const char *first, const char *second, struct patch *patch) { - int p_value = 1; char *name; first += 4; // skip "--- " @@ -1799,6 +1799,10 @@ int main(int argc, char **argv) excludes = x; continue; } + if (!strncmp(arg, "-p", 2)) { + p_value = atoi(arg + 2); + continue; + } if (!strcmp(arg, "--no-add")) { no_add = 1; continue;