##// END OF EJS Templates
shrink-revlog: add "reverse postorder" and "postorder reverse" toposorts....
shrink-revlog: add "reverse postorder" and "postorder reverse" toposorts. Based on a patch by Benoit Boissinot, adapted to the pluggable sort algorithm design. toposort_reversepostorder() is a very good performer; it's designed to recreate what the revlog would have looked like if Mercurial had parent deltas now. toposort_postorderreverse() is unstable and very inconsistent, but perhaps with some work it could be made better.

File last commit:

r9358:baebf028 merge default
r10623:64e286c2 default
Show More
win32-build.txt
120 lines | 4.0 KiB | text/plain | TextLexer
Bryan O'Sullivan
Document Windows installer build process.
r1291 The standalone Windows installer for Mercurial is built in a somewhat
jury-rigged fashion.
It has the following prerequisites, at least as I build it:
Python for Windows
Lee Cantey
Update Windows build instructions.
r4401 http://www.python.org/ftp/python/2.4.3/python-2.4.3.msi
Bryan O'Sullivan
Document Windows installer build process.
r1291
MinGW
http://www.mingw.org/
Python for Windows Extensions
http://sourceforge.net/projects/pywin32/
Pascal Quantin
Add Python 2.6 support to win32 installer...
r8058 mfc71.dll (just download, don't install; not needed for Python 2.6)
Bryan O'Sullivan
Document Windows installer build process.
r1291 http://starship.python.net/crew/mhammond/win32/
Pascal Quantin
Add Python 2.6 support to win32 installer...
r8058 Visual C++ 2008 redistributable package (needed for Python 2.6)
http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en
Bryan O'Sullivan
Document Windows installer build process.
r1291 The py2exe distutils extension
http://sourceforge.net/projects/py2exe/
Patrick Mezard
Mention GnuWin32 gettext in win32 build instructions
r9175 GnuWin32 gettext utility
http://gnuwin32.sourceforge.net/packages/gettext.htm
Bryan O'Sullivan
Document Windows installer build process.
r1291 Inno Setup
Steve Borho
iss: take version from iscc command line or __version__.py...
r9356 http://www.jrsoftware.org/isdl.php#qsp
Get and install ispack-5.3.4.exe which includes Inno Setup Processor,
which is necessary to package Mercurial.
Bryan O'Sullivan
Document Windows installer build process.
r1291
Lee Cantey
Update Windows build instructions.
r4401 ISTool - optional
Bryan O'Sullivan
Document Windows installer build process.
r1291 http://www.istool.org/default.aspx/
Marco Barisione
Automatically add the path of hg to %PATH% using add_path
r2384 add_path (you need only add_path.exe in the zip file)
http://www.barisione.org/apps.html#add_path
Patrick Mezard
Update win32 build instructions for rst2html
r9179 Docutils
http://docutils.sourceforge.net/
Patrick Mezard
Document how HTML documentation is built under Windows
r7660
Bryan O'Sullivan
Document Windows installer build process.
r1291 And, of course, Mercurial itself.
Once you have all this installed and built, clone a copy of the
Mercurial repository you want to package, and name the repo
C:\hg\hg-release.
In a shell, build a standalone copy of the hg.exe program:
Thomas Arendsen Hein
Remove trailing spaces
r5081 python setup.py build -c mingw32
Lee Cantey
Update Windows build instructions.
r4401 python setup.py py2exe -b 1
Note: the previously suggested combined command of "python setup.py build -c
mingw32 py2exe -b 1" doesn't work correctly anymore as it doesn't include the
extensions in the mercurial subdirectory.
Bryan O'Sullivan
Document Windows installer build process.
r1291
Lee Cantey
Update Windows build instructions.
r4401 If you want to create a file named setup.cfg with the contents:
[build]
compiler=mingw32
you can skip the first build step.
Pascal Quantin
Add Python 2.6 support to win32 installer...
r8058 Copy add_path.exe into the dist directory that just got created.
If you are using Python up to version 2.5.4, copy mfc71.dll into the dist
directory that just got created.
If you are using Python 2.6 or later, after installing the Visual C++ 2008
redistributable package copy into the dist directory that just got created the
following files:
- from the directory starting with
Windows/WinSxS/x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8
the files named: msvcm90.dll, msvcp90.dll and msvcr90.dll
- from the directory starting with
Windows/WinSxS/x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.21022.8
the files named: mfc90.dll, mfc90u.dll, mfcm90.dll and mfcm90u.dll
- from the directory named Windows/WinSxS/Manifests, the manifest file
starting with x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8
(rename it to Microsoft.VC90.CRT.manifest) and the manifest file starting
with x86_Microsoft.VC90.MFC_1fc8b3b9a1e18e3b_9.0.21022.8 (rename it to
Microsoft.VC90.MFC.manifest)
Bryan O'Sullivan
Document Windows installer build process.
r1291
Patrick Mezard
Document how HTML documentation is built under Windows
r7660 Before building the installer, you have to build Mercurial HTML documentation
Patrick Mezard
Update win32 build instructions for rst2html
r9179 (or fix mercurial.iss to not reference the doc directory). Docutils does not
come with a ready-made script for rst2html.py, so you will have to write your
own and put it in %PATH% like:
@python c:\pythonXX\scripts\rst2html.py %*
Then build the documentation with:
Patrick Mezard
Document how HTML documentation is built under Windows
r7660
cd doc
Patrick Mezard
Update win32 build instructions for rst2html
r9179 mingw32-make RST2HTML=rst2html.bat html
Patrick Mezard
Document how HTML documentation is built under Windows
r7660 cd ..
Lee Cantey
Update Windows build instructions.
r4401 If you use ISTool, you open the C:\hg\hg-release\contrib\win32\mercurial.iss
file and type Ctrl-F9 to compile the installer file.
Steve Borho
iss: take version from iscc command line or __version__.py...
r9356 Otherwise you run the Inno Setup compiler. Assuming it's in the path
you should execute:
Lee Cantey
Update Windows build instructions.
r4401
Steve Borho
iss: take version from iscc command line or __version__.py...
r9356 iscc contrib\win32\mercurial.iss /DVERSION=foo
Lee Cantey
Update Windows build instructions.
r4401
Steve Borho
iss: take version from iscc command line or __version__.py...
r9356 Where 'foo' is the version number you would like to see in the
'Add/Remove Applications' tool. The installer will be placed into
a directory named Output/ at the root of your repository.
Bryan O'Sullivan
Document Windows installer build process.
r1291
Lee Cantey
Update Windows build instructions.
r4401 To automate the steps above you may want to create a batchfile based on the
following:
echo [build] > setup.cfg
echo compiler=mingw32 >> setup.cfg
python setup.py py2exe -b 1
Patrick Mezard
Document how HTML documentation is built under Windows
r7660 cd doc
Patrick Mezard
Update win32 build instructions for rst2html
r9179 mingw32-make RST2HTML=rst2html.bat html
Patrick Mezard
Document how HTML documentation is built under Windows
r7660 cd ..
Steve Borho
iss: take version from iscc command line or __version__.py...
r9356 iscc contrib\win32\mercurial.iss /DVERSION=snapshot
Lee Cantey
Update Windows build instructions.
r4401
and run it from the root of the hg repository (c:\hg\hg-release).