I've converted the CVS repository to a Mercurial (hg) and after a few
tweaks and re-conversions, it seems to have done a good job. It is
purely a coincidence that this finally happened on the same week Python
itself flicked the Mercurial switch :).
I'd like to encourage everyone with an interest in this to grab a clone
and have a play - note that you can make a clone, make some local test
commits, then throw the clone away without pushing back to sourceforge.
* People not familiar with hg should read the hg book at
http://hgbook.red-bean.com/ and any other tutorials they can find. The
model is significantly different to CVS and SVN (but somewhat similar to
Bazaar and Git)
* The hg repo is at sourceforge and all developers who had CVS access
should have mercurial "push" access. You can browse the repo via the
normal sourceforge web interface. The pywin32 sourceforge page with the
configuration information is at
* I've disabled access to CVS for all developers - the CVS repo still
exists and can be re-enabled should some serious issue be found, but
eventually it will be removed completely from the project (and probably
make the raw repo available for download via sourceforge)
* I'm still battling the hg hook for sending emails as changes are
pushed, but think I have that working. I'll make a trivial commit in
the next few minutes to test that out, but note that in the worst case,
commit email may not appear for a day or few.
* You should enable the "eol" extension for Mercurial to ensure you get
Windows line endings. Eventually I hope to have a hg server-side hook
to reject changes which screw up the line-endings, but I've failed to
make that happen so far. Note that support for Windows line-endings is
a recent mercurial feature and may have rough edges. Before committing
to your local repo, please check that 'hg diff' isn't marking a change
in every line in one of the changed files - it is does, please hold off
the commit and contact me.
* I can recommend the "Tortoise HG" tool for Windows - it allows you to
disable the "shell extensions", but you still wind up with normal
command-line hg plus a nice GUI tool you can invoke if desired.
* Sourceforge hg seems a little slow, especially fetching the full repo.
Fetching incremental updates should be better, but if there are
performance issues related to sourceforge, we can look at hosting the
master repo elsewhere.
* Although it should not be necessary, I reserve the right to nuke the
hg repo and start again with the CVS conversion. This will only be done
over the next week or 2, and only if someone notices a significant
problem in the conversion and I would need to "back-port" any hg changes
into CVS. If this did happen, you would be unable to update any
existing clones you made - you would have to start again into a clean
Please let me know how you go!