All, To troubleshoot my cloning problem, I tried running Fossil in CGI mode like this:
Set CONTENT_LENGTH=65 Set PATH_INFO=/xfer/xfer Set REMOTE_USER=tperovic Set REQUEST_MODE=POST Set SCRIPT_NAME=/Projects/Test/Test.fossil Set SERVER_NAME=myserver Set SERVER_PORT=80 Set SERVER_PORT_SECURE=0 Set SERVER_PROTOCOL=HTTP/1.0 Fossil.exe cgi test.cgi Also tried: Set GATEWAY_INTERFACE=CGI/1.1 Fossil.exe test.cgi Getting this error: Assertion failed: (pFrom)->xRealloc==blobReallocMalloc || (pFrom)->xRealloc==blobReallocStatic, file ./bld/blob_.c, line 379 This application has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. I set all the environmental variables that I think it needs. Did I miss any? Probably looking for those 65 bytes of content on stdin, huh? What do those 65 bytes contain? Tony Perovic Compumation, Inc. ________________________________ From: Tony Perovic Sent: Tuesday, April 19, 2011 5:22 PM To: 'fossil-users@lists.fossil-scm.org' Subject: Cloning on IIS Cloning works if I run Fossil in server mode: Server: Fossil server myrepository.fossil Workstation: Fossil clone http://myserver:8080<http://myserver:8080/> myclone.fossil It also works using IIS/CGI if I clone a new, empty repository. However, if I try to clone a repository that contains artifacts using IIS/CGI then I get errors: C:\Program Files\Fossil\Fossil.exe: malformed file line. Comparing the data packets I can see the problem: Fossil server response: HTTP/1.0 200 OK Date: Tue, 19 Apr 2011 20:34:30 GMT Connection: close Cache-control: no-cache, no-store Content-Type: application/x-fossil-uncompressed; charset=utf-8 Content-Length: 793430 0000: 63 66 69 6C 65 20 65 37 64 34 34 63 34 65 61 64 ..... 2E4C0: 33 F2 2C F4 AE CC B2 06 00 65 91 08 0D 0A 63 66 Fossil/IIS/CGI response: Status: 200 OK Date: Tue, 19 Apr 2011 20:34:30 GMT Connection: close Cache-control: no-cache, no-store Content-Type: application/x-fossil-uncompressed; charset=utf-8 Content-Length: 793430 0000: 63 66 69 6C 65 20 65 37 64 34 34 63 34 65 61 64 ..... 2E4C0: 33 F2 2C F4 AE CC B2 06 00 65 91 08 0A 63 66 69 All the 0D/0A pairs got replaced with 0A. Text mode converts \n to \r\n but what the hell is converting \r\n to \n ???!?!?!??! The Perl code that handles CGI requests, in part, looks like this: $fossil = "C:\Program Files\Fossil\Fossil.exe" $cgifile = <full path to CGI file> $output = `\"$fossil\" \"$cgifile\"`; # Execute Fossil, capture output $eoh = index($output,"\n\n"); # Find end-of-header $header = substr($output,0,$index); # Just the HTTP header if ($header =~ m/Content-Type: text/) { # text or binary? print $output; # Everything is text mode } else { print "$header\n\n"; # Header is text binmode stdout; # The rest is binary print substr($output,$eoh + 2); } Any chance that Fossil is doing this? [cid:image001.jpg@01CBFF7F.B8638350] TONY PEROVIC tpero...@compumation.com<mailto:tpero...@compumation.com> www.compumation.com 205 W. Grand Ave., Ste. 121 Bensenville, IL 60106 630-860-1921 Phone 630-860-1928 Fax
<<inline: image001.jpg>>
_______________________________________________ fossil-users mailing list fossil-users@lists.fossil-scm.org http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users