Fix python2.3 incompatibility introduced by
a2b13cac0922.
run-tests.py: Make tests run with python2.3 if HGTEST_* is set.
optparse of python2.3 does not transform default values to the specified
type so e.g. "HGTEST_JOBS=4" (introduced in
07c3cd695b48) causes tests
to abort, because options.jobs is set to '4' instead of the number 4.
Add a normalize() method to dirstate
This method returns the normalised form of a path. This is
- the form in the dirstate, if available, or
- the form on disk, if available, or
- the form passed on the command line
normalize() is called on the type-'f' result of statwalk.
This fixes issues 910 and 1092
Add a new function, fspath
The function, given a relative filename and a root, returns the filename
modified to use the case actually stored in the filesystem (or None if the
file does not exist). The returned name is relative to the root, but retains
the path separators used in the input path. (This is not strictly necessary,
but retaining the path separators minimises misleading test suite failures).
A win32-specific implementation (using win32api.FindFiles) is possible, but it
has not been implemented as testing seems to demonstrate that the
win32-specific code is not significantly faster (thanks to the caching of
results in the generic code).
Add a folding() method to dirstate
The method returns True if the dirstate is on a case folding filesystem.