As far as I can tell from the code, cases when lca=t1 or lca=t2 are handled by 
the ‘default' method so the custom defined merge is not called.
But this was not always the case - in some revisions of ir_merge.ml the 
‘default’ ( in method biject’ ) was not called first :
Commits on Mar 4,Feb 6, Feb 2 2015 - call ‘default’ first
Commits on Jan 27, Jan 26, Jan 12 2015 - don’t call ‘default’ first
Commits on Jan 11 2015, and older - call ‘default’ first

So it changed back and forth. I am not sure what the intention was but I think 
having the ability to custom-handle all cases is preferred?

Thanks,
Gregory

> On Aug 5, 2015, at 11:45 PM, Thomas Gazagnaire <[email protected]> wrote:
> 
>> I have a question about Irmin merge call back for user-defined contents. It 
>> appears that merge is only called for the content that was changed but not 
>> added or deleted. Is it possible to have it called for all actions?
> 
> It's supposed to be called even when one of the version is added or deleted. 
> In that case one of the values will be a None. That's why the merge callback 
> [1] takes an option type. Notice that you should not normally have None for 
> all the 3 elements of the 3-way merge.
> 
> Best,
> Thomas
> 
> [1] http://mirage.github.io/irmin/Irmin.Contents.S.html#VALmerge
> 


_______________________________________________
MirageOS-devel mailing list
[email protected]
http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel

Reply via email to