Mercurial case-folding BIG BUG

Dustin Sallings dustin at spy.net
Sun Feb 3 22:26:32 CST 2008


On Feb 3, 2008, at 10:10, Guo Tang wrote:

> I am using Windows at work. So I had tried to figure out a solution  
> for
> hg. The idea I had was using os.walk() to get the case sensitive file
> names from NTFS. Then before hg asking the status of a file, it first
> check against os.walk() result to make sure the file is really there.
> But when I checked the performance of os.walk(), it is not good. For  
> my
> clearcase source codes, I have 53,000 files. It took os.walk() 53  
> seconds
> to finish. The performance hit is just too big to make the fix useful.
> I would say if we can find a way to do this faster (like less than 1
> second for 50k files), it might be useful to add a flag to turn it on.
>
> It might be interesting for TortoiseHg to solve this problem. I know
> TortoiseSVN has some way of "caching" file status (maybe also case
> sensitive file name?). Or any notification hook from OS to user land
> application that something has changed inside this folder? Then we  
> once
> pay this price once.


	If your source tree relies on files whose names your filesystem can't  
represent for whatever reason, I don't see why it would be the job of  
the revision control system to come in and solve this for you.  The  
build system will still fail, right?

-- 
Dustin Sallings





More information about the Mercurial mailing list