Subject: Re: XML parsing error from gitweb at freedesktop.org

From: Jakub Narebski <[email-masked]>
Date: Sat, 08 Dec 2007 02:49:44 -0800 (PST)

"Lars Hjemli" <[email-masked]> writes:

> On Dec 6, 2007 10:34 PM, Adam Mercer <[email-masked]> wrote:
>>
>> as cgit displays the commit OK
>>
>> <http://cgit.freedesktop.org/xorg/xserver/commit/?h=xorg-server-1.2-apple&id=48e6a75fbdd0fee86e364f02ace83f20b312a2b2>
>>
>> leads me to think that the problem lies in gitweb.  Could this be a
>> problem with gitweb?
>>
> 
> Actually, it's a problem in both cgit and gitweb, but you need to look
> a bit harder to find the error in cgit. It seems that gitweb on
> freedesktop.org doesn't detect a file rename (due to diff.renamelimit
> maybe?), so it shows the full source of the offending files, while in
> cgit you'll need to go from the diff to either the old or the new
> sourcefile to get the same error:
> 
> http://cgit.freedesktop.org/xorg/xserver/tree/hw/darwin/quartz/applewmExt.h?h=xorg-server-1.2-apple&id=141f69dc3d8d6e7d8ff65607f43700ac11243041
> http://cgit.freedesktop.org/xorg/xserver/diff/hw/xquartz/applewm.c?h=xorg-server-1.2-apple&id=48e6a75fbdd0fee86e364f02ace83f20b312a2b2
> 
> The problem is a number of unencoded ascii char 12.

Strange... I have checked gitweb code, and esc_html used in HTML
version of diff output escapes _all_ control characters ([:cntrl:]).
So ASCII char 12 should be shown as \014 in "cntrl" style.

Ahhh... I see, Freedesktop.org uses some ANCIENT version of gitweb,
from before it was included in git repository.

Try to ask Freedesktop.org admins to upgrade gitweb. Some nice
features include:
 * mod_perl compatibility
 * ability to display binary files correctly
 * gitweb do not use /usr/bin/diff, and do not use temporary files
   (and supports renames, typechanges and combined diff format)
 * better support for strange characters in contents and in pathnames
 * very basic support for submodules
 * snapshot support (optional)
 * forks support (optional)
 * 'next' links in 'commit' and 'commitdiff' view
 * optional features: commit search, pickaxe search, snapshots
   support,...

-- 
Jakub Narebski
ShadeHawk on #git