[PATCH 1 of 8] largefiles: replace "_isXXXXing" attributes with "_lfautocommit"

Mads Kiilerich mads at kiilerich.com
Mon Sep 22 04:14:56 CDT 2014


Hi

I like that this patch series improve largefiles to handle more corner 
cases correctly. Nice work!

I do not so much like increasing amount of hacks we have to use. It is 
not like I feel we finally got it right and now can start cleaning up 
and simplifying the code. Instead, in order to take the next steps, this 
series has to introduce more complexity and more callbacks in core 
Mercurial.

I wonder if we should try a different approach. As you point out, it is 
almost impossible to do the right thing in the internal commit functions 
- they don't have enough context. One alternative could be to hook in at 
the very low level, updating the standin files whenever they are read 
and propagate their change whenever they are written. Another approach 
would be to do all synchronization before/after calling in to core 
Mercurial and let the core pretty much treat standin files like any 
other file. I have played around with that approach and posted a proof 
of concept.

/Mads


More information about the Mercurial-devel mailing list