The aim of this patch was to explore a scenario discovered in Zulip1. When pushing to the default branch, an object was missing. To improve this, I needed to hunt down where the error was originating from.
The patch starts with refactoring the cases when the git push is not in the
delete case. We classify if the push is opening a patch, updating a patch, or
simply pushing a ref.
From there, we refactor the canonical computation by separating it out into its
business logic. Here, I was able to refactor the error scenarios, and discovered
that it was due to the missing commit during the converges calculation. The
patch adds a check that all the commits are present, and if not, provide a
better error message.
Finally, a test for the scenario outlined in Zulip is added showing how it can be recovered from.
https://radicle.zulipchat.com/#narrow/channel/369873-support/topic/.60error.3A.20git.3A.20object.20not.20found.20-.20no.20match.20for.20id.60.20on.20push/with/527912706
The aim of this patch was to explore a scenario discovered in Zulip1. When pushing to the default branch, an object was missing. To improve this, I needed to hunt down where the error was originating from.
The patch starts with refactoring the cases when the git push is not in the
delete case. We classify if the push is opening a patch, updating a patch, or
simply pushing a ref.
From there, we refactor the canonical computation by separating it out into its
business logic. Here, I was able to refactor the error scenarios, and discovered
that it was due to the missing commit during the converges calculation. The
patch adds a check that all the commits are present, and if not, provide a
better error message.
Finally, a test for the scenario outlined in Zulip is added showing how it can be recovered from.
https://radicle.zulipchat.com/#narrow/channel/369873-support/topic/.60error.3A.20git.3A.20object.20not.20found.20-.20no.20match.20for.20id.60.20on.20push/with/527912706
Review
Changes:
- Rebased
- Accepted review commits