Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTTP ERROR 500 when using hgweb on Windows #1

Closed
cesmarvin opened this issue Dec 20, 2010 · 7 comments
Closed

HTTP ERROR 500 when using hgweb on Windows #1

cesmarvin opened this issue Dec 20, 2010 · 7 comments
Labels
bug Something isn't working

Comments

@cesmarvin
Copy link
Contributor

Original report by David M. Carr (Bitbucket: [David M. Carr](https://bitbucket.org/David M. Carr), ).


When attempting to browse an hg repository on Windows XP, I got the attached error.

@cesmarvin
Copy link
Contributor Author

Original comment by Sebastian Sdorra (Bitbucket: sdorra, GitHub: sdorra).


Hgwebdir seems to be very complicated in combination with Windows,
because I had recurring problems with the binary modules of Mercurial (osutil etc.).

The only solution that worked during my tests was the following:

  • Install Python 2.6.6

  • Download the latest source code of Mercurial (in my case 1.7.2)

  • Compile the python pure version of mercurial:
    ** C:\Python26\python.exe setup.py --pure build_py -c -d . build_ext -i build_mo --force
    ** C:\Python26\python.exe setup.py --pure install --force

  • Switch the path within the SCM-Manager to Python-Binary and to Mercurial Script
    (f.e.: C:\Python26\python.exe und C:\Python26\Scripts\hg.bat )

More details concerning this problem:

I will look for an easier solution.

@cesmarvin
Copy link
Contributor Author

Original comment by David M. Carr (Bitbucket: [David M. Carr](https://bitbucket.org/David M. Carr), ).


Before I came across the SCM-Manager project, I had been looking into possibly writing my own similar app, probably initially only supporting Mercurial, and went through many of those documentation pages trying to get hgwebdir working. I was first trying to get it to work within IIS and failed, but later tried Tomcat's CGI support and was able to eventually get it to work. I think it was even working with just the pre-packaged Windows binaries of Python and Mercurial, not from source. I'll need to look back to see if I'm correct and can reproduce the install steps.

@cesmarvin
Copy link
Contributor Author

Original comment by David M. Carr (Bitbucket: [David M. Carr](https://bitbucket.org/David M. Carr), ).


Turns out I was mistaken. As you say, hgweb on Windows appears to be pretty tricky. I'm pretty sure that there has to be an easier way, but I haven't found it yet.

@cesmarvin
Copy link
Contributor Author

Original comment by David M. Carr (Bitbucket: [David M. Carr](https://bitbucket.org/David M. Carr), ).


I've done some more experimentation, and my experience seems to match what you posted; lots of issues with binary modules when using the pre-compiled mercurial distribution, but success using the source with --pure, same versions as you listed.

With this approach, the steps seem relatively simple and reproducible... there's just a few too many of them for general usage. Maybe I'll try putting together an installer using IzPack that:
-Installs Python 2.6.6 (bundled in the installer)
-Runs the Mercurial pure source install (bundled in the installer, probably as a ZIP file)
-Optionally adds python and/or the hg to the PATH

Such an installer would provide a one-step install for a Windows setup compatible with running hgweb. Depending on the performance of the "pure" hg, it might make sense to include the Mercurial binary distribution in the bundle as well for better performance.

@cesmarvin
Copy link
Contributor Author

Original comment by Sebastian Sdorra (Bitbucket: sdorra, GitHub: sdorra).


Ive done some more tests and at the end it works with the TortoiseHg 1.1.7 and Python 2.6.6. Mercurial uses .pyo files and Python seems to load those files only when it was started with -O. In the next days i will extend the SCM-Manager.

@cesmarvin
Copy link
Contributor Author

Original comment by David M. Carr (Bitbucket: [David M. Carr](https://bitbucket.org/David M. Carr), ).


Tested your hg installer changes on Windows. Looks like a great approach. I tested with Python 2.6.6 and TortoiseHg 1.1.7 on Windows XP Pro. I then uninstalled everything, and tried again with Python 2.6.6 and a "pure" install of Mercurial from source. I added a minor patch to support that configuration as well. I then uninstalled everything, and tried again with Python 2.6.6 and the "Mercurial 1.7.2 Python 2.6 package" binary. This configuration also seemed to work.

@cesmarvin
Copy link
Contributor Author

Original comment by Sebastian Sdorra (Bitbucket: sdorra, GitHub: sdorra).


It seems to work in combination with Windows 7 too. I think this issue is solved now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant