Bundling tools together with hg for win32

Steve Borho steve at borho.org
Tue Aug 21 14:49:24 CDT 2007

On Wednesday 15 August 2007 5:00:04 pm Steve Borho wrote:
> I spent some time today figuring out how to bundle qct together with
> mercurial when building the win32 hg installer.  I think I've got the
> kinks worked out of the process and now have a patch which can be
> applied to any hg repository just before building the installer.
> There's quite a bit of demand for a "Batteries Included" mercurial
> installer for Windows, and there's a large benefit to bundling python
> apps together in a single py2exe app rather than just providing links
> to separate installers (RT performance, DL time, and disk space).

How rude is it to reply to your own list post?

My e-mail server spent the bulk of last week dead so I haven't kept up 
with this threaad, but I'm willing to head up the effort to build an MQ 
patch-queue that will bundle together a fully loaded hg installer and 
host it on the qct sourceforge web-site.  I could even host installers 
if required.

I've decided to take the following route to begin with:

+ tclkit (http://www.equi4.com/tclkit/) + hgk for revision history
+ qct for commit and mq usage
+ the python version of hgmerge tied with kdiff3
+ Csdiff or other two-way merge for qct change selection
+ Plink for ssh
+ patches to default mercurial.ini to enable bundled features
+ all patches required to get hg, mq, and qct happy in this environment
+ fixes for mercurial.iss to create a completely usable OOTB install

When tortoiseHg becomes stable, it can be added (ditto for any other 
tools that volunteer patches :)  This list is still open for 
discussion, but it seems the best bet for now.

Unfortunately I'm currently hung up on making MQ work on win32 with the 
tip of crew or main.  There were some patches applied recently to make 
gnuwin32-patch work correctly (by passing --binary), but those patches 
dissapeared when the mpatch work was rolled in, and it's not obvious to 
me how to make mpatch work correctly.  I haven't found any 
documentation about how the patch code on the tip is expected to work.

Specifically, when I try to patch contrib/win32/mercurial.ini, the patch 
fails to apply because the file is in dos format.


Steve Borho (steve at borho.org)
Key fingerprint = 2D08 E7CF B624 624C DE1F  E2E4 B0C2 5292 F2C6 2C8C

More information about the Mercurial-devel mailing list