From: "brian m. carlson" <sandals@crustytoothpaste.net>
To: Jeff King <peff@peff.net>
Cc: phillip.wood@dunelm.org.uk, git@vger.kernel.org
Subject: Re: [PATCH 2/2] t0014: generate deprecated command names dynamically
Date: Tue, 28 Jul 2026 21:12:15 +0000 [thread overview]
Message-ID: <amkbLnNCeeziWATm@fruit.crustytoothpaste.net> (raw)
In-Reply-To: <20260728143845.GB41686@coredump.intra.peff.net>
[-- Attachment #1: Type: text/plain, Size: 1858 bytes --]
On 2026-07-28 at 14:38:45, Jeff King wrote:
> We have a few tests related to aliasing of deprecated commands. They use
> whatchanged and pack-redundant because those are the only two deprecated
> commands we have. Eventually those commands will be removed, at which
> point these tests will be checking nothing useful (they'll just be
> regular aliases, which we already cover in other tests).
>
> We could remove them at that point, but the code to handle deprecated
> commands will still remain. We probably do want to keep the tests around
> for the eventual day that we deprecate more commands. So let's ask Git
> for its list of deprecated commands, and if we don't have any, skip
> those tests.
>
> This also prevents an annoying corner case when your build directory
> contains old build products. Right now those commands are marked as
> deprecated builtins and treated specially; we allow aliases and never
> look for them as dashed external commands. But after they are removed,
> they aren't special anymore. If your directory happens to contain
> hardlinks from the build of an older version, that confuses Git: it sees
> the old hardlinks in place, thinks those are actual external commands,
> and refuses to allow aliasing.
>
> You can see that today like this:
>
> make
> make WITH_BREAKING_CHANGES=1 test
>
> The first "make" creates git-whatchanged as a hardlink to Git, and the
> second does not clean it up (it doesn't know about the whatchanged
> command at all anymore). t0014 fails because Git won't create an alias
> to the "external" whatchanged command.
These patches look sensible. I was planning to spend some time this
morning investigating more since I woke up early, but I appreciate you
sending some patches in to fix them.
--
brian m. carlson (they/them)
Toronto, Ontario, CA
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 325 bytes --]
prev parent reply other threads:[~2026-07-28 21:12 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-28 0:46 Failing tests with WITH_BREAKING_CHANGES brian m. carlson
2026-07-28 1:00 ` Junio C Hamano
2026-07-28 13:31 ` Phillip Wood
2026-07-28 13:55 ` Jeff King
2026-07-28 14:36 ` [PATCH 0/2] fix serial tests without/with breaking-changes Jeff King
2026-07-28 14:37 ` [PATCH 1/2] t0014: factor out choice of deprecated commands Jeff King
2026-07-28 15:57 ` Junio C Hamano
2026-07-28 14:38 ` [PATCH 2/2] t0014: generate deprecated command names dynamically Jeff King
2026-07-28 16:01 ` Junio C Hamano
2026-07-28 16:19 ` Jeff King
2026-07-28 21:12 ` brian m. carlson [this message]
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=amkbLnNCeeziWATm@fruit.crustytoothpaste.net \
--to=sandals@crustytoothpaste.net \
--cc=git@vger.kernel.org \
--cc=peff@peff.net \
--cc=phillip.wood@dunelm.org.uk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.