list of filesystems with known issues

Mark Booth lists at anang.com
Wed Mar 4 04:03:55 CST 2009


In message <9B83B87F49ABFC478322C5505A66BC800276419F at BRUDEMSX3.de.eu.sew
> on Wed, 4 Mar 2009, Jens.Wulf at sew-eurodrive.de writes
>> Two files where the name only differs by case: repo\file.txt and
>>repo\file.TXT (you cannot merge a tree where
>> this happens, you cannot update to a revision where both files exist, etc.)
>I don't consider this to be a serious bug -- it does not corrupt your repo.

You may not consider it serious, but when the rest of Mercurial is 'it
just works' it is very frustrating to be the company Mercurial advocate
and have fellow developers come complaining to you, every time
Windows/Visual Studio has caused a commit to do something to their
repository which means that they can't check out revisions.

Every time this happens I have to tell people to 'update to the revision
before the first version of that file exists and then update to the
version you want'.

In fact, I may well have to add the procedure to commit a changeset
containing just .hgignore before committing any other files into the
repository, just so that we can guarantee that there is a changeset
which doesn't contain the file. Hmmm, I wonder if it's possible to
update to changeset 00000000?

The bug here is that when updating, the update logic seems to try  to
'get' the new version of the file (say "File.txt") before it removes the
old version (i.e. "file.txt"), when really it should detect that they
might conflict and delete before creating.

>> Windows filesystem locks suck.
>Reported bugs?

So far I have just seen two corrupted repositories (managing a few dozen
repositories over the last 6 months), but we couldn't track down how
that corruption occurred. My suspicion is accidentally copy/pasting one
repository over the top of another, but I can't be certain.

Luckily, the corrupted repositories still synced Ok with a clean (older)
repository, so we lost no changesets.

Take care,


Mark..........
-- 
Mark Booth


More information about the Mercurial mailing list