Skip to content

Commit

Permalink
Make apply accept the -pNUM option like patch does.
Browse files Browse the repository at this point in the history
This only applies to traditional diffs, not to git diffs.

Signed-off-by: Daniel Barkalow <barkalow@iabervon.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information
Daniel Barkalow authored and Junio C Hamano committed Feb 1, 2006
1 parent c8568e1 commit e36f8b6
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
6 changes: 5 additions & 1 deletion Documentation/git-apply.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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]
[<patch>...]

DESCRIPTION
Expand Down Expand Up @@ -68,6 +68,10 @@ OPTIONS
backslash characters replaced with `\t`, `\n`, and `\\`,
respectively.

-p<n>::
Remove <n> 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
Expand Down
8 changes: 6 additions & 2 deletions apply.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand All @@ -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] <patch>...";
"git-apply [--stat] [--numstat] [--summary] [--check] [--index] [--apply] [--no-add] [--index-info] [--allow-binary-replacement] [-z] [-pNUM] <patch>...";

/*
* For "diff-stat" like behaviour, we keep track of the biggest change
Expand Down Expand Up @@ -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 "--- "
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit e36f8b6

Please sign in to comment.