[darcs-devel] [patch1373] refactored Darcs.Repository (and 1 more)

Ben Franksen bugs at darcs.net
Mon Jun 22 23:45:48 UTC 2015


Ben Franksen <benjamin.franksen at helmholtz-berlin.de> added the comment:

I am still unsure what the intention of the original code was w.r.t. the
starting of two parallel threads. I am certain I did not misrepresent
what the code actually did do, namely starting two threads that race for
completion, abandoning (now: canceling) the non-yet-complete one. But is
this really what should happen? One thread fetches all the patches the
function gets as a parameter. The other thread fetches the patches
listed in "meta-filelist-inventories". Are the passed patches garuanteed
to be a subset of what's listed in meta-filelist-inventories? (This is
absolutely not obvious and a small comment explaing the author's
intention when writing this rather tricky code would have made things so
much easier to understand!) Another question is why the thread that
fetches the passed patches is started only when the meta-filelist has
been written and not earlier. I suspect this was an artefact of the old
implementation and could be changed now.

Anyway I am screening this now. At worst the new code is wrong as the
old one. In that case it should be easier to fix because the intention
is clear now and the code more robust.

I will continue to investigate this.

----------
status: needs-screening -> needs-review

__________________________________
Darcs bug tracker <bugs at darcs.net>
<http://bugs.darcs.net/patch1373>
__________________________________


More information about the darcs-devel mailing list