Re: [PATCH/RFC (take 2)] gitweb: New improved patchset view
- From
Jakub Narebski <jnareb@gmail.com>
- Date
- Oct 30, 2006, 13:58 UTC
- Message-ID
- <200610301458.33634.jnareb@gmail.com>
- In-Reply-To
- <200610301043.22033.jnareb@gmail.com>
Jakub Narebski wrote:
Show 10 quoted lines
> Junio C Hamano wrote: >> >> I think the UI layer like gitweb should have freedom to choose >> its own pathname handling, and should read from -z output. > > That's a very good idea. I'll send separate patch (if noone else will > do this, that is) which would convert gitweb to always use -z output, > both git-ls-tree and git-diff-tree... oh, well, there is no -z patch > output, so in patch part we would have to replace git quoted part by > gitweb quoted part.
I have realized that it is not as easy as it sounds, at least for the git-diff-tree output. For the LF-terminated output (without '-z') you know that LF separates records, and you can split on LF ('\n'). It is not the case for '-z' '\0' delimited output: NUL ('\0') might also mean end of one of the filenames in the rename/copy case, and is used to separate filename(s) from the score (although here TAB would be enough). And that is probably the case that gitweb uses default git-diff-tree output, and _tries_ to unescape(...) filename.
The solution would be perhaps to add '--zz' option to use '-z' output but to separate records by double NUL, i.e. '\0\0'...
By the way, why diff-tree "raw" format for merge gives only one, final, filename?
-- Jakub Narebski