Re: [PATCH v2 1/4] worktree: refactor infer_backlink() to use *strbuf
From: Caleb White <hidden>
Date: 2024-10-07 04:01:49
Attachments
- signature.asc [application/pgp-signature] 509 bytes
From: Caleb White <hidden>
Date: 2024-10-07 04:01:49
On Sunday, October 6th, 2024 at 22:56, shejialuo [off-list ref] wrote:
The reason why I don't think we need to check the "err" variable is that the "git_contents" and "err" is relevant. If "git_contents" is not NULL, the "err" must be zero unless there are bugs in "read_gitfile_gently". So, if we already check "git_contents", why do we need to check again for "err"?
There are two other error conditions we check, and one of them we try to find the inferred backlink (so it is not a failure path):
} else if (err == READ_GITFILE_ERR_NOT_A_FILE) {
fn(1, realdotgit.buf, _("unable to locate repository; .git is not a file"), cb_data);
goto done;
} else if (err == READ_GITFILE_ERR_NOT_A_REPO) {
if (!infer_backlink(realdotgit.buf, &backlink)) {
fn(1, realdotgit.buf, _("unable to locate repository; .git file does not reference a repository"), cb_data);
goto done;
}
} else if (err) {
fn(1, realdotgit.buf, _("unable to locate repository; .git file broken"), cb_data);
goto done;
}