Subject: Re: [PATCH v6 18/20] Reftable support for git-core

From: Junio C Hamano <[email-masked]>
Date: Fri, 16 Apr 2021 11:47:12 -0700

Han-Wen Nienhuys <[email-masked]> writes:

>> I would think that a better approach here would be to start with some
>> (per-se unrelated) series to teach update-ref some mode like
>> hash-object's --literally, i.e. "YOLO this ref update".
>
> I disagree.  I think this would be a job better suited to a
> test-helper. Then we don't put tools into users' hands that
> potentially corrupt the repository. I don't understand why hash-object
> --literally is not a test helper either.

As the person who invented the "--literally" option, I'd have to
agree with this assessment.  It does make life a little bit easier
for those who hack on Git codebase and reimplementations of it, but
little practical value for those who use Git every day [*].

If it were a tool to _dump_ the contents of a possibly corrupt
object that the "--literally" option would have produced to make it
easier to see by humans, I might be pursuaded to say that such a
feature may be better in end-user accessible subcommands.  But the
reason why we invented "--literally" was specifically to create
corrupt objects in test repository to see end-user accessible tools
behave, and in hindsight, such a use case shouldn't have been a good
justification to add the option.

I wasn't following the discussion of this particular patch closely,
so I do not know what is being discussed is a tool on the diagnosis
side (for which I may say it is OK to give to end-usres) or on the
currupting side (for which I would regret to add to end-user tools),
but hopefully the above would help guiding the decision between the
two.

Thanks.

[Footnote]

* ... for any purpose other than creating a corrupt repository,
  asking somebody who is or claims to be a Git expert to figure out
  what is wrong in his or her repository, and either waste expert's
  time or have fun by watching the expert fail and gets embarrased,
  that is ;-)