[PATCH 2 of 3 stable] largefiles: mark lfile as added in lfdirstate when the standin is added

Matt Harbison mharbison72 at gmail.com
Thu Jan 1 12:04:31 CST 2015


On Thu, 01 Jan 2015 12:26:43 -0500, Mads Kiilerich <mads at kiilerich.com>  
wrote:

> On 01/01/2015 05:52 AM, FUJIWARA Katsunori wrote:
>> Oops, sorry for performance problem, and thank you for fixing it !
>
> Thanks for reviewing ;-)
>
> (Long term, I would like to get rid of the file status being duplicated  
> for the standin in dirstate and the large file in lfdirstate. I think it  
> would be better if lfdirstate only was used for keeping track of whether  
> the largefile written/hashed by Mercurial has been changed by the user.  
> My attempts at doing that have hover not been successful in all cases so  
> far.)
>
> (Even more long term, I would like to move the largefiles into the  
> normal dirstate (and contexts) so we could get rid of the complicated  
> matcher handling.)

Do you have a strategy in mind for doing this?  I recently hacked on the  
lfilesctx class a bit to try to get filesets working properly (e.g.  
set:size('>1M') never reports a largefile, because the standin is what is  
tested), but that didn't seem to get anywhere.  One of the problems is  
that some commands (like files) does a dirstate lookup of the names  
returned from a match... so I think this change has more benefits than  
just avoiding complicated matcher handling.

I think this is something Greg mentioned a few years ago too, but I don't  
know how to help it along.

--Matt


More information about the Mercurial-devel mailing list