threads / discuss / 11165

XML parsing error from gitweb at freedesktop.org

Subject: XML parsing error from gitweb at freedesktop.org

## tl;dr

3 messages between Dec 6, 2007 and Dec 8, 2007.

replies: 2people: 3as markdown or json

Adam Mercer· Dec 6, 2007, 21:34 UTC · lore
Hi

In looking through some commits on the freedesktop.org gitweb I encountered an error trying to view the following commit

<http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=48e6a75fbdd0fee86e364f02ace83f20b312a2b2>

In viewing the page under Safari on Mac OS X Leopard the following error is displayed:

This page contains the following errors: error on line 7998 at column 129634: internal error

Camino & Firefox both display:
XML Parsing Error: not well-formed
Location: http://gitweb.freedesktop.org/?p=xorg/xserver.git;a=commitdiff;h=48e6a75fbdd0fee86e364f02ace83f20b312a2b2
Line Number 7998, Column 24:

<div class="diff rem">- </div> -----------------------^

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?

Cheers
Adam
Lars Hjemli· Dec 6, 2007, 22:11 UTC · re: Adam Mercer · lore

Re: XML parsing error from gitweb at freedesktop.org

On Dec 6, 2007 10:34 PM, Adam Mercer <ramercer@gmail.com> wrote:
Show 7 quoted lines
> 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.

-- larsh

Jakub Narebski· Dec 8, 2007, 10:49 UTC · re: Lars Hjemli · lore

Re: XML parsing error from gitweb at freedesktop.org

"Lars Hjemli" <hjemli@gmail.com> writes:
Show 21 quoted lines
> On Dec 6, 2007 10:34 PM, Adam Mercer <ramercer@gmail.com> 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

← back to recent threads