[BUG?] Experimenting problems during an Arch->Mercurial repo conversion

Matt Mackall mpm at selenic.com
Tue Jul 26 20:40:08 CDT 2005


On Wed, Jul 27, 2005 at 02:30:38AM +0200, Edouard Gomez wrote:
> As the script  is purely deterministic, and that i know  i can trust baz
> patchset replaying,  i'd conclude that mercurial is  probably not immune
> to  something   that  can  be   triggered  by  automatic   importing.  I
> particularly think  of the non detection  of changes due  to missed stat
> file changes, or too fast changes because of script speed (though baz is
> not known to be blazing fast).

Mercurial will indeed miss changes where the file size _and_ time don't
change. And the stat interfaces it's using are currently at 1s
granularity.

In general, not all filesystems support sub-second granularity.
Critically, if you want it on ext3, I believe you need to reformat
your drive to use 256 byte inodes rather than the default 128.

So with import scripts, you probably want to pass a list of file names
to commit instead of relying on both the filesystem and Mercurial to
get it right.

Patches changing the dirstate code to use os.stat_float_times() will
be accepted, of course, but it's not a complete fix because of the
spotty support in the filesystems themselves.

-- 
Mathematics is the supreme nostalgia of our time.


More information about the Mercurial mailing list