Re: Extra files in changelog "changed files" and bundles

2018-11-22 Thread Boris FELD
This could be related to https://bz.mercurial-scm.org/show_bug.cgi?id=5973

On 21/11/2018 21:36, Mads Kiilerich wrote:
> Hi
>
> I see some odd and potentially related behaviour:
>
> The files list in changelog entries for merges sometimes contain files
> that didn't change, but where the manifest use the same filelog entry
> as one of the parents.
> It seems to often be related to merge of file moves.
>
> Also, sometimes there are different filelog entries, but
> debugrevlogindex shows rename entries (p1=null) with length 0 and
> where debugdata confirms that the content is the same as their p2.
>
> And because of these extra "changedfiles" entries, bundles sometimes
> contains too many files. Linkrev is used for pruning, but is too
> fragile to handle it correctly. (I have a PoC for pruning all filelog
> entries that are reused from the parents "common" and outside the
> bundled set.) (It also doesn't seem to use an optimal delta parent
> when bundling - that could perhaps mitigate it.)
>
> Sorry for the vague description. I have not been fully able to
> reproduce the problems - perhaps because bugs have been fixed. Are you
> aware of changes/fixes that can explain this? Or hints about where to
> look or related problems?
>
> /Mads
>
> ___
> Mercurial-devel mailing list
> Mercurial-devel@mercurial-scm.org
> https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


Extra files in changelog "changed files" and bundles

2018-11-21 Thread Mads Kiilerich

Hi

I see some odd and potentially related behaviour:

The files list in changelog entries for merges sometimes contain files 
that didn't change, but where the manifest use the same filelog entry as 
one of the parents.

It seems to often be related to merge of file moves.

Also, sometimes there are different filelog entries, but 
debugrevlogindex shows rename entries (p1=null) with length 0 and where 
debugdata confirms that the content is the same as their p2.


And because of these extra "changedfiles" entries, bundles sometimes 
contains too many files. Linkrev is used for pruning, but is too fragile 
to handle it correctly. (I have a PoC for pruning all filelog entries 
that are reused from the parents "common" and outside the bundled set.) 
(It also doesn't seem to use an optimal delta parent when bundling - 
that could perhaps mitigate it.)


Sorry for the vague description. I have not been fully able to reproduce 
the problems - perhaps because bugs have been fixed. Are you aware of 
changes/fixes that can explain this? Or hints about where to look or 
related problems?


/Mads

___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel