[Webkit-unassigned] [Bug 111066] svn-apply cannot apply patches which is generated by git to files that contain space characters in their path

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 4 05:17:07 PDT 2013


https://bugs.webkit.org/show_bug.cgi?id=111066





--- Comment #21 from Yuki Sekiguchi <yuki.sekiguchi at access-company.com>  2013-06-04 05:15:39 PST ---
(In reply to comment #18)
> If we like, we can also just see how git does it:
> 
> builtin/apply.c
> 
> static int find_header(const char *line, unsigned long size, int *hdrsize, struct patch *patch)
> :1490
> static int parse_git_header(const char *line, int len, unsigned int size, struct patch *patch)
> :1280
> static char *git_header_name(const char *line, int llen)

Thank you for good information.

I looked the code.

Summary:
* git get paths from "git --diff" line only if the file is changed.
* When the file is renamed, copied or deleted, git gets paths from diff file (e.g. "+++ foo.h").
* To get paths from a diff line which contains paths which have space, git splits the diff line with space or tab, and it checks the two paths is same.
* To support --src-prefix and --dst-prefix, git use -p parameter which is same as patch(1) or  heuristically guess -p parameter of a diff using the diff and relative path from the .git directory .

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list