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

Edouard Gomez ed.gomez at free.fr
Wed Jul 27 05:28:53 UTC 2005


Matt Mackall (mpm at selenic.com) wrote:
> 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.

Well the sub second case, as i  said, is probably not the problem as baz
is  not known  for being  very very  fast. Applying  a changeset  in baz
implies  quite a  lot of  operations, getting  the tarball,  inflate it,
parse a fair amount of inodes, patch...
 
> 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.

Well, this is the more easy path.

> 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.

If i wasn't a Python ignorant, i would do :-) as mercurial is so fast,
it would make sense to allow its commit to catch in such scenarios.

Anyway, thanks for the help, i'll commit a list of files. It's more
reliable for an import script.

-- 
Edouard Gomez



More information about the Mercurial mailing list