darcs repository web UI and hosting app. This is the main darcsden trunk, which also runs hub.darcs.net. (https://hub.darcs.net)

#183error accessing branches: Irrefutable pattern failed for pattern Just a2'o

I have a private repo on hub.darcs.net - promoweb. I added a new member to it. The new member forked the repo. The new member pushed new patches to his fork. On my repo, I see no branches, I cannot see the member's added patches. When I go to the forked brach, there is a branches button present, but when I click on the button I get "Irrefutable pattern failed for pattern Just a2'o" error:

Sorry.. your GET request to /bogdantoma/promoweb/patches failed.

src/Darcs/Patch/V2/RepoPatch.hs:(612,17)-(614,35): Irrefutable pattern failed for pattern Just a2'o
    • description updated
    • description updated
  • It is an error in the darcs not in darcsden. I managed to solve it reordering the patches in repository, but I still cannot see the braches button in the repository that was forked from.

  • Thanks for the report. If you find or create a darcs issue, do link it here. It sounds like darcs hub has forgotten that your branch is related to the upstream. Perhaps there's some other way to re-fork the upstream, or repair your branch in a less disruptive way, so that you can avoid the darcs bug without losing darcs hub's repo relationship. Actually, maybe you can re-declare the relationship in repo settings.

  • Darcs developer here. This is indeed a known bug in Darcs and with our new test case generator it appears regularly in the unit tests. I have never encountered it in practice though. Therefore, and because this is very complex code with almost no documentation, I have treated it with low priority. I will reconsider and perhaps try to find a fix.

  • I have tried and failed to comprehend the code where this pattern match failure happens. So I think this bug won't be fixed at all. Sorry I can't help here. (But note this code was written years before I joined the team.)

    The good news is that we do have a new patch theory (implemented!) where stuff like that no longer happens. It is much more thoroughly tested, a lot simpler, better documented, and I /do/ understand how it works ;-) However, the new theory is not yet quite ready for release; we still have to nail down the precise on-disk format, and there are some features missing, like (convenient!) conversion from the older formats to the new one, not to speak of integrating it with darcsden.