From: Christian Couder Date: Fri, 02 Jun 2023 10:25:22 GMT Subject: [PATCH v3 04/15] replay: die() instead of failing assert() Message-ID: <20230602102533.876905-5-christian.couder@gmail.com> In-Reply-To: <20230602102533.876905-1-christian.couder@gmail.com> From: Elijah Newren It's not a good idea for regular Git commands to use an assert() to check for things that could happen but are not supported. Let's die() with an explanation of the issue instead. Co-authored-by: Christian Couder Signed-off-by: Elijah Newren Signed-off-by: Christian Couder --- builtin/replay.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/builtin/replay.c b/builtin/replay.c index 7eb05048a5..2537adbaea 100644 --- a/builtin/replay.c +++ b/builtin/replay.c @@ -178,7 +178,12 @@ int cmd_replay(int argc, const char **argv, const char *prefix) fprintf(stderr, "Rebasing %s...\r", oid_to_hex(&commit->object.oid)); - assert(commit->parents && !commit->parents->next); + + if (!commit->parents) + die(_("replaying down to root commit is not supported yet!")); + if (commit->parents->next) + die(_("replaying merge commits is not supported yet!")); + base = commit->parents->item; next_tree = repo_get_commit_tree(the_repository, commit); -- 2.41.0.15.ga6d88fc8f0