Re: [GSoC] [PATCH 1/1] t0001: replace "test [-d|-f]" with test_path_is_* functions
- From
Shaoxuan Yuan <shaoxuan.yuan02@gmail.com>
- Date
- Feb 10, 2022, 03:11 UTC
- Message-ID
- <CAJyCBORHE2+UMKYFfKArgK68fAT=pKVabVmfifzg--rHAFkaqg@mail.gmail.com>
- In-Reply-To
- <xmqqr190g6gd.fsf@gitster.g>
Hi Junio,
Since I didn't see this change in seen or next, do you plan to apply it?
-- Thanks, Shaoxuan
On Sat, Jan 22, 2022 at 4:49 AM Junio C Hamano <gitster@pobox.com> wrote:
Show 32 quoted lines
> > Taylor Blau <me@ttaylorr.com> writes: > > >> - if test -d "$1" && test -f "$1/config" && test -d "$1/refs" > >> + if test_path_is_dir "$1" && test_path_is_file "$1/config" && test_path_is_dir "$1/refs" > >> then > >> : happy > >> else > > > > Looks very reasonable to me. Indeed, this line comes from 6adcca3fe8 > > (Fix initialization of a bare repository, 2007-08-27) which predates > > 2caf20c52b (test-lib: user-friendly alternatives to test [-d|-f|-e], > > 2010-08-10) when these helpers were originally introduced. > > > > I thought that we could probably just shorten this to calling > > "test_path_is_file" twice: once for "$1/config" and a second time for > > "$1/refs", but that assumes "$1" is non-empty. And to ensure that you'd > > need another check, which amounts to the same amount of code overall. > > I had the same thought. > > Since the first "$GIT_DIR must be a directory" matters only when the > caller is crazy enough to have a bare repository at the root of the > filesystem and to think that it is a good idea to say "" is the > "$GIT_DIR" (in which case, "test -d ''" would fail, even though the > tests for /config and /refs are checking the right thing), I do not > see much downside from omitting the first one, but I think that is > something we need to do _outside_ the topic of this change, which is > purely "modernize, using the helpers we already have, without > changing what we do". > >