diff options
author | Junio C Hamano <gitster@pobox.com> | 2024-04-09 14:31:43 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2024-04-09 14:31:43 -0700 |
commit | 8289a36f8725d33f5bdff2a5aeaa0b0369ad8ff8 (patch) | |
tree | dbbd3962329f6d3a31e6064019e3819051cba5cc /apply.c | |
parent | 19981daefd7c147444462739375462b49412ce33 (diff) | |
parent | 776ffd1a303afa8cf581d62e9d0478d112fecdd2 (diff) | |
download | git-8289a36f8725d33f5bdff2a5aeaa0b0369ad8ff8.tar.gz |
Merge branch 'jc/apply-parse-diff-git-header-names-fix'
"git apply" failed to extract the filename the patch applied to,
when the change was about an empty file created in or deleted from
a directory whose name ends with a SP, which has been corrected.
* jc/apply-parse-diff-git-header-names-fix:
t4126: fix "funny directory name" test on Windows (again)
t4126: make sure a directory with SP at the end is usable
apply: parse names out of "diff --git" more carefully
Diffstat (limited to 'apply.c')
-rw-r--r-- | apply.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -1292,8 +1292,15 @@ static char *git_header_name(int p_value, return NULL; /* no postimage name */ second = skip_tree_prefix(p_value, name + len + 1, line_len - (len + 1)); + /* + * If we are at the SP at the end of a directory, + * skip_tree_prefix() may return NULL as that makes + * it appears as if we have an absolute path. + * Keep going to find another SP. + */ if (!second) - return NULL; + continue; + /* * Does len bytes starting at "name" and "second" * (that are separated by one HT or SP we just |