This series of patches fixes up the behaviour of the walk and changes functions, so Mercurial now handles names like "../foo/./bar/baz/../*" properly. It also contains a few other bugfixes and walk-related performance improvements. <b -- Bryan O'Sullivan <bos at serpentine.com>