diff options
author | Junio C Hamano <gitster@pobox.com> | 2014-06-03 12:06:40 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-06-03 12:06:40 -0700 |
commit | f008cef4abb2a4db766b4a152b304aca91a0101a (patch) | |
tree | 67c1722488c99d9f56aedcc8ae52fad3558e413e /builtin/apply.c | |
parent | Merge branch 'as/grep-fullname-config' (diff) | |
parent | apply --ignore-space-change: lines with and without leading whitespaces do no... (diff) | |
download | tgif-f008cef4abb2a4db766b4a152b304aca91a0101a.tar.xz |
Merge branch 'jc/apply-ignore-whitespace'
"--ignore-space-change" option of "git apply" ignored the
spaces at the beginning of line too aggressively, which is
inconsistent with the option of the same name "diff" and "git diff"
have.
* jc/apply-ignore-whitespace:
apply --ignore-space-change: lines with and without leading whitespaces do not match
Diffstat (limited to 'builtin/apply.c')
-rw-r--r-- | builtin/apply.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/builtin/apply.c b/builtin/apply.c index 87439fad11..9c5724eacc 100644 --- a/builtin/apply.c +++ b/builtin/apply.c @@ -300,11 +300,13 @@ static int fuzzy_matchlines(const char *s1, size_t n1, while ((*last2 == '\r') || (*last2 == '\n')) last2--; - /* skip leading whitespace */ - while (isspace(*s1) && (s1 <= last1)) - s1++; - while (isspace(*s2) && (s2 <= last2)) - s2++; + /* skip leading whitespaces, if both begin with whitespace */ + if (s1 <= last1 && s2 <= last2 && isspace(*s1) && isspace(*s2)) { + while (isspace(*s1) && (s1 <= last1)) + s1++; + while (isspace(*s2) && (s2 <= last2)) + s2++; + } /* early return if both lines are empty */ if ((s1 > last1) && (s2 > last2)) return 1; |