Re: [PATCH v2 1/4] worktree: refactor infer_backlink() to use *strbuf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sunday, October 6th, 2024 at 23:12, shejialuo <shejialuo@xxxxxxxxx> wrote:
> That's not correct. It is true that the contents can be NULL and
> `backlink` could be filled with the infer_backlink. But do you notice
> that if `backlink` was filled with the infer_backlink, it will jump
> to the "done" label.

This is not correct, if backlink is filled with `infer_backlink` it
continues on with the processing. I have made this more clear:

    dotgit_contents = xstrdup_or_null(read_gitfile_gently(realdotgit.buf, &err));
    if (dotgit_contents) {
	if (is_absolute_path(dotgit_contents)) {
	    strbuf_addstr(&backlink, dotgit_contents);
        } else {
	    strbuf_addbuf(&backlink, &realdotgit);
	    strbuf_strip_suffix(&backlink, ".git");
	    strbuf_addstr(&backlink, dotgit_contents);
        }
    } 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;
    }


Attachment: signature.asc
Description: OpenPGP digital signature


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux