views:

281

answers:

2

I try to publish multiple existing mercurial repository-locations though XAMPP Apache via CGI Python script hgwebdir.cgi ... as in this tutorial http://mercurial.selenic.com/wiki/HgWebDirStepByStep

I get the following error from the apache error logs, when I try to access the repository path with a browser:

Premature end of script headers: hgwebdir.cgi

[Tue Apr 20 16:00:50 2010] [error] [client 91.67.44.216] Premature end of script headers: hgwebdir.cgi
[Tue Apr 20 16:00:50 2010] [error] [client 91.67.44.216]   File "C:/hostdir/xampp/cgi-bin/hg/hgwebdir.cgi", line 39\r
[Tue Apr 20 16:00:50 2010] [error] [client 91.67.44.216]     test = c:/hostdir/mercurial/test/\r
[Tue Apr 20 16:00:50 2010] [error] [client 91.67.44.216]             ^\r
[Tue Apr 20 16:00:50 2010] [error] [client 91.67.44.216] SyntaxError: invalid syntax\r

This is the path of the file where the script fails (and if I remove it, I get an empty HTML page shown with no visual elements in it):

[paths]
test = c:/hostdir/mercurial/test/
/hg = c:/hostdir/mercurial/**
/ = c:/hostdir/mercurial/

Does anybody have a clue for me?

A: 

this is just a wild ass guess but I suspect the line endings in your ini file may be messed up. You may want to try opening your ini file in something like VIM and see if there's any funky characters in there. It sucks that in 2010 we still have to consider these things, but it is what it is./shrug

Tom Willis
I tested that and its not that. The above error still gets shown in HTTP-Responses, but the error-log now gives me a "magic number code-error" that lets me think the versions of mercurial and python don't match. But there seems to be no list of which versions are compatible. Posted a question regarding this here: http://stackoverflow.com/questions/2680802/installing-mercurial-on-windows-apache-xampp-tutorialAnd I really think that someone should make a complete tutorial on how to install hgwebdir on a windows XAMPP, as I bet there're a lot of people looking for this solution. Thx anyways!
Akku
+1  A: 

Okay, after all it was just a whole lot of directory-location-problems and a big version-problem (needed to use Python 2.6 with Mercurial 1.5.1). Got it working now. If I happen to write a full windows-guide, I'll add a comment.

Tim Dellas