git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] t1400: fix --no-create-reflog test and description

From
Patrick Steinhardt <ps@pks.im>
Date
Oct 21, 2024, 12:08 UTC
Message-ID
<ZxZETN7WjbNiSRyF@pks.im>
In-Reply-To
<ab7d4c8d89c075de05bf04f1f9dc195145455964.1729439476.git.code@khaugsbakk.name>
On Sun, Oct 20, 2024 at 06:12:03PM +0200, kristofferhaugsbakk@fastmail.com wrote:
Show 11 quoted lines
> From: Kristoffer Haugsbakk <code@khaugsbakk.name>
> 
> This test has had the wrong title since it was created.[1]  Use `always`
> like the description says and negate the expected outcome.
> 
> The test works since `core.logAllRefUpdates` set to `true` does not
> create a reflog for that ref namespace.  So the test is testing the
> config variable, not the option.
> 
> The test itself is fine and does not hide a bug: `--no-create-reflog` is
> not supposed to override `core.logAllRefUpdates`.

That's actually surprising to me, as command line options tend to override configuration.

Show 17 quoted lines
> † 1: 341fb286212 (refs: add option core.logAllRefUpdates = always,
>     2017-01-27)
> 
> Signed-off-by: Kristoffer Haugsbakk <code@khaugsbakk.name>
> ---
> 
> Notes (series):
>     From the commit message:
>     
>       “ The test itself is fine and does not hide a bug:
>         `--no-create-reflog` is not supposed to override
>     
>     A source for that: roundabout through git-branch(1):
>     
>       “ The negated form --no-create-reflog only overrides an earlier
>         --create-reflog, but currently does not negate the setting of
>         core.logAllRefUpdates.

Hm. The "currently" reads as if this was a known shortcoming rather than by design.

Show 8 quoted lines
>     I *suppose* that the same applies to update-ref since (I suppose) they
>     use the same underlying machinery.
>     
>     See also git-tag(1) which says the same thing.
>     
>     update-ref should document the same thing, then.  I have that marked as
>     a todo item.  The changes there are a bit too involved to implicate in
>     this submission.

So I'm quite torn here. It's documented, even though the documentation doesn't exactly feel like this was designed, but rather like it was a side effect. The test also contradicts the documentation, even though it only worked by chance. And as mentioned above, everywhere else we typically have a design where the command line option overrides the config.

Overall I'm rather leaning into the direction of making this work properly. But that would of course be a backwards-incompatible change.

Patrick
Previous: kristofferhaugsbakk@fastmail.comNext: Kristoffer Haugsbakk
Message 2 of 8 in “t1400: fix --no-create-reflog test and description”
  1. t1400: fix --no-create-reflog test and descriptionkristofferhaugsbakk@fastmail.com, Oct 20, 2024
  2. Patrick SteinhardtOct 21, 2024
  3. Kristoffer HaugsbakkOct 21, 2024
  4. Taylor BlauOct 21, 2024
  5. Kristoffer HaugsbakkOct 21, 2024
  6. Taylor BlauOct 21, 2024
  7. Kristoffer HaugsbakkNov 7, 2024
  8. Junio C HamanoNov 8, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.