Running Mercurial on Cygwin and Python 2.2 compatibility
Matt Mackall
mpm at selenic.com
Wed May 11 23:59:45 UTC 2005
[cc:ed to mailing list, sorry for the duplicate]
On Wed, May 11, 2005 at 07:42:08PM -0400, Ren? Rh?aume wrote:
> Hello,
> I tried to use Mercurial 0.4d using the Python Cygwin provides (2.4 is
> installed now) and I have have trouble with file name case. As you might
> know, Windows compares filenames in a case insensitive way. Maybe you
> can add a special case to use locale-aware compare when running on
> Cygwin/Windows.
Things you're likely to run into trouble with in Windows:
- case sensitivity on names in data/*
- line ending conventions and the binary issues there
- we call out to patch and lsdiff in import
- we currently assume the availability of hardlinks for local branch
- I may have been lazy about os.path.join and the like in some places
Case-ignore compare.. filenames are currently binhexed 160 bit SHA
values. Folding case is going to drop one bit per character
worst-case, and the filenames are about 26 characters. This means
we're down to a 134 bit hash and birthday collision probability of
2^67. Probably fine.
I haven't touched a Windows machine in 10 years now, so if someone
wants to make this work there, they'll have to take it on.
> I also tried on my old Mandrake Linux 9.0 based system, which has Python
> 2.2.1. It complained that "yield" would become a keyword in future
> versions of Python.
I believe the current bzr code has some smarts for finding the right
Python at runtime or bailing with a useful error message, if someone
wants to scavenge that for me. I think there are some other 2.3isms
lurking besides yield and I'd rather not remove them.
--
Mathematics is the supreme nostalgia of our time.
More information about the Mercurial
mailing list