In effect, allows to write all but the colliding contents to the storage. This
is the same behavior currently existing in the journal replayer (D2800). This
shares the behavior within the retry proxy as this is a common need, for
example in loaders as well (D2973).
And the colliding hashes are stored in the log in a formatted way so we do not
lose that information.
Related to D2800#66985
Related to D2973#72387
Note:
It could go in an entirely different proxy. That would maximize composition
through configuration and not entangle the retry and that new behavior (which
is somehow a retry, thus why it's proposed here in the first place ;)
I would like this class to be more pythonic by working as a context manager. For me, the sqlite3 connection should probably happen in an __enter__() function, and closing it in an __exit__() function. I know you cannot use a with block in the Fuse operation class (a shame...), but at least it keeps the quirky aspect of this solely in the Fuse class.