public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
From: shejialuo <shejialuo@gmail.com>
To: Patrick Steinhardt <ps@pks.im>
Cc: git@vger.kernel.org, Karthik Nayak <karthik.188@gmail.com>
Subject: Re: [PATCH 01/17] refs/files: simplify iterating through root refs
Date: Sat, 10 Jan 2026 20:28:00 +0800	[thread overview]
Message-ID: <aWJF0NNDnuIUXbMo@ArchLinux> (raw)
In-Reply-To: <20260109-pks-refs-verify-fixes-v1-1-3587dba18294@pks.im>

On Fri, Jan 09, 2026 at 01:39:30PM +0100, Patrick Steinhardt wrote:
> When iterating through root refs we first need to determine the
> directory in which the refs live. This is done by retrieving the root of
> the loose refs via `refs->loose->root->name`, and putting it through
> `files_ref_path()` to derive the final path.
> 
> This is somewhat redundant though: the root name of the loose files
> cache is always going to be the empty string. As such, we always end up
> passing that empty string to `files_ref_path()` as the ref hierarchy we
> want to start. And this actually makes sense: `files_ref_path()` already
> computes the location of the root directory, so of course we need to
> pass the empty string for the ref hierarchy itself. So going via the
> loose ref cache to figure out that the root of a ref hierarchy is empty
> is only causing confusion.

Make sense, in `refs/ref-cache.c` we would call the following to create
the root loose cache:

    ret->root = create_dir_entry(ret, "", 0)

It would always be empty.

Thanks,
Jialuo

  reply	other threads:[~2026-01-10 12:28 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-01-09 12:39 [PATCH 00/17] Fixes and improvements for ref consistency checks Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 01/17] refs/files: simplify iterating through root refs Patrick Steinhardt
2026-01-10 12:28   ` shejialuo [this message]
2026-01-09 12:39 ` [PATCH 02/17] refs/files: move fsck functions into global scope Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 03/17] refs/files: remove `refs_check_dir` parameter Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 04/17] refs/files: remove useless indirection Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 05/17] refs/files: extract function to check single ref Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 06/17] refs/files: improve error handling when verifying symrefs Patrick Steinhardt
2026-01-10 12:34   ` shejialuo
2026-01-09 12:39 ` [PATCH 07/17] refs/files: perform consistency checks for root refs Patrick Steinhardt
2026-01-10 12:47   ` shejialuo
2026-01-12  8:17     ` Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 08/17] fsck: drop unused fields from `struct fsck_ref_report` Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 09/17] refs/files: extract generic symref target checks Patrick Steinhardt
2026-01-10 12:59   ` shejialuo
2026-01-12  8:17     ` Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 10/17] refs/files: introduce function to perform normal ref checks Patrick Steinhardt
2026-01-10 13:12   ` shejialuo
2026-01-12  8:17     ` Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 11/17] refs/reftable: adapt includes to become consistent Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 12/17] refs/reftable: extract function to retrieve backend for worktree Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 13/17] refs/reftable: fix consistency checks with worktrees Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 14/17] refs/reftable: introduce generic checks for refs Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 15/17] builtin/fsck: move generic object ID checks into `refs_fsck()` Patrick Steinhardt
2026-01-09 12:39 ` [PATCH 16/17] builtin/fsck: move generic HEAD check " Patrick Steinhardt
2026-01-10 13:31   ` shejialuo
2026-01-12  8:18     ` Patrick Steinhardt
2026-01-15 12:52       ` shejialuo
2026-01-09 12:39 ` [PATCH 17/17] builtin/fsck: drop `fsck_head_link()` Patrick Steinhardt
2026-01-10 13:37 ` [PATCH 00/17] Fixes and improvements for ref consistency checks shejialuo
2026-01-12  8:18   ` Patrick Steinhardt
2026-01-12  9:02 ` [PATCH v2 " Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 01/17] refs/files: simplify iterating through root refs Patrick Steinhardt
2026-01-12  9:56     ` Karthik Nayak
2026-01-12  9:02   ` [PATCH v2 02/17] refs/files: move fsck functions into global scope Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 03/17] refs/files: remove `refs_check_dir` parameter Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 04/17] refs/files: remove useless indirection Patrick Steinhardt
2026-01-12 10:01     ` Karthik Nayak
2026-01-12  9:02   ` [PATCH v2 05/17] refs/files: extract function to check single ref Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 06/17] refs/files: improve error handling when verifying symrefs Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 07/17] refs/files: perform consistency checks for root refs Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 08/17] fsck: drop unused fields from `struct fsck_ref_report` Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 09/17] refs/files: extract generic symref target checks Patrick Steinhardt
2026-01-12  9:02   ` [PATCH v2 10/17] refs/files: introduce function to perform normal ref checks Patrick Steinhardt
2026-01-12 11:42     ` Karthik Nayak
2026-01-12 13:08       ` Patrick Steinhardt
2026-01-12 14:19         ` Junio C Hamano
2026-01-12 14:37           ` Junio C Hamano
2026-01-12 15:02             ` Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 11/17] refs/reftable: adapt includes to become consistent Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 12/17] refs/reftable: extract function to retrieve backend for worktree Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 13/17] refs/reftable: fix consistency checks with worktrees Patrick Steinhardt
2026-01-12 11:45     ` Karthik Nayak
2026-01-12  9:03   ` [PATCH v2 14/17] refs/reftable: introduce generic checks for refs Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 15/17] builtin/fsck: move generic object ID checks into `refs_fsck()` Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 16/17] builtin/fsck: move generic HEAD check " Patrick Steinhardt
2026-01-12  9:03   ` [PATCH v2 17/17] builtin/fsck: drop `fsck_head_link()` Patrick Steinhardt
2026-01-12 11:50   ` [PATCH v2 00/17] Fixes and improvements for ref consistency checks Karthik Nayak
2026-01-12 13:09     ` Patrick Steinhardt
2026-01-15 12:56   ` shejialuo
2026-01-16  6:48     ` Patrick Steinhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aWJF0NNDnuIUXbMo@ArchLinux \
    --to=shejialuo@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=karthik.188@gmail.com \
    --cc=ps@pks.im \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox