From: Jeff King <peff@peff.net>
To: Patrick Steinhardt <ps@pks.im>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 02/13] cat-file: make --allow-unknown-type a noop
Date: Mon, 19 May 2025 02:16:17 -0400 [thread overview]
Message-ID: <20250519061617.GA102701@coredump.intra.peff.net> (raw)
In-Reply-To: <aCcK0p7wMURHppe7@pks.im>
On Fri, May 16, 2025 at 11:52:18AM +0200, Patrick Steinhardt wrote:
> > The code change is fairly small (but we'll able to clean up more code in
> > follow-on patches). The test updates drop any use of the option. We
> > still retain tests that feed the broken objects to cat-file without
> > --allow-unknown-type, as we should continue to confirm that those
> > objects are rejected. Note that in one spot we can drop a layer of loop,
> > re-indenting the body; viewing the diff with "-w" helps there.
>
> Shouldn't we have a test though that the option is still accepted, even
> though it doesn't do anything?
I dunno. It is obvious-ish from looking at the code that the option does
nothing, so we know that it will behave the same whether it is provided
or not. I guess it depends on how white/black-box we want our tests to
be.
If we did this on top:
diff --git a/builtin/cat-file.c b/builtin/cat-file.c
index 67a5ff2b9e..ff92b14201 100644
--- a/builtin/cat-file.c
+++ b/builtin/cat-file.c
@@ -1022,7 +1022,6 @@ int cmd_cat_file(int argc,
struct batch_options batch = {
.objects_filter = LIST_OBJECTS_FILTER_INIT,
};
- int unknown_type = 0;
int input_nul_terminated = 0;
int nul_terminated = 0;
int ret;
@@ -1047,8 +1046,7 @@ int cmd_cat_file(int argc,
OPT_GROUP(N_("Emit [broken] object attributes")),
OPT_CMDMODE('t', NULL, &opt, N_("show object type (one of 'blob', 'tree', 'commit', 'tag', ...)"), 't'),
OPT_CMDMODE('s', NULL, &opt, N_("show object size"), 's'),
- OPT_HIDDEN_BOOL(0, "allow-unknown-type", &unknown_type,
- N_("historical option -- no-op")),
+ OPT_NOOP_NOARG(0, "allow-unknown-type"),
OPT_BOOL(0, "use-mailmap", &use_mailmap, N_("use mail map file")),
OPT_ALIAS(0, "mailmap", "use-mailmap"),
/* Batch mode */
that would perhaps remove the "-ish" from "obvious-ish". I had left the
flag in place because I wondered if we might want to produce a
deprecation warning before dropping it completely.
> > @@ -202,9 +201,6 @@ flush::
> > only once, even if it is stored multiple times in the
> > repository.
> >
> > ---allow-unknown-type::
> > - Allow `-s` or `-t` to query broken/corrupt objects of unknown type.
> > -
>
> Should we maybe introduce a "deprecated" section and spell out that this
> option is a no-op nowadays that will be removed for example in Git 3.0?
I don't have a strong opinion there. It mostly seems like clutter to me
in the manpage. In theory it could help somebody who had learned about
the option previously and wondered what happened. OTOH, the release
notes can help with that. With the patch above, "cat-file --help-all"
would also produce:
--[no-]allow-unknown-type
no-op (backward compatibility)
though I don't really expect anybody to find that casually.
-Peff
next prev parent reply other threads:[~2025-05-19 6:16 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-16 4:49 [PATCH 0/13] dropping support for non-standard object types Jeff King
2025-05-16 4:49 ` [PATCH 01/13] object-file.h: fix typo in variable declaration Jeff King
2025-05-16 4:49 ` [PATCH 02/13] cat-file: make --allow-unknown-type a noop Jeff King
2025-05-16 9:52 ` Patrick Steinhardt
2025-05-19 6:16 ` Jeff King [this message]
2025-05-19 7:22 ` Patrick Steinhardt
2025-05-16 16:47 ` Junio C Hamano
2025-05-16 4:49 ` [PATCH 03/13] object-file: drop OBJECT_INFO_ALLOW_UNKNOWN_TYPE flag Jeff King
2025-05-16 4:49 ` [PATCH 04/13] cat-file: use type enum instead of buffer for -t option Jeff King
2025-05-16 16:56 ` Junio C Hamano
2025-05-16 4:49 ` [PATCH 05/13] oid_object_info_convert(): stop using string for object type Jeff King
2025-05-16 4:49 ` [PATCH 06/13] fsck: stop using object_info->type_name strbuf Jeff King
2025-05-16 9:52 ` Patrick Steinhardt
2025-05-19 14:26 ` Junio C Hamano
2025-05-19 17:00 ` Jeff King
2025-05-16 4:49 ` [PATCH 07/13] oid_object_info(): drop type_name strbuf Jeff King
2025-05-19 14:58 ` Junio C Hamano
2025-05-16 4:49 ` [PATCH 08/13] t/helper: add zlib test-tool Jeff King
2025-05-19 15:03 ` Junio C Hamano
2025-05-19 17:03 ` Jeff King
2025-05-21 13:44 ` Junio C Hamano
2025-05-16 4:50 ` [PATCH 09/13] t: add lib-loose.sh Jeff King
2025-05-16 9:52 ` Patrick Steinhardt
2025-05-19 6:17 ` Jeff King
2025-05-19 15:12 ` Junio C Hamano
2025-05-16 4:50 ` [PATCH 10/13] hash-object: stop allowing unknown types Jeff King
2025-05-19 15:15 ` Junio C Hamano
2025-05-16 4:50 ` [PATCH 11/13] hash-object: merge HASH_* and INDEX_* flags Jeff King
2025-05-16 9:52 ` Patrick Steinhardt
2025-05-16 4:50 ` [PATCH 12/13] hash-object: handle --literally with OPT_NEGBIT Jeff King
2025-05-19 15:30 ` Junio C Hamano
2025-05-16 4:50 ` [PATCH 13/13] object-file: drop support for writing objects with unknown types Jeff King
2025-05-16 9:52 ` Patrick Steinhardt
2025-05-19 15:32 ` Junio C Hamano
2025-05-16 16:36 ` [PATCH 0/13] dropping support for non-standard object types Junio C Hamano
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=20250519061617.GA102701@coredump.intra.peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--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;
as well as URLs for NNTP newsgroup(s).