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

Re: [PATCH] t3701-add-interactive: tighten the check of trace output

From
SZEDER Gábor <szeder.dev@gmail.com>
Date
Sep 10, 2018, 19:19 UTC
Message-ID
<20180910191932.GB17224@localhost>
In-Reply-To
<20180910154453.GA15270@sigill.intra.peff.net>
On Mon, Sep 10, 2018 at 11:44:54AM -0400, Jeff King wrote:
Show 16 quoted lines
> On Mon, Sep 10, 2018 at 04:07:14PM +0200, SZEDER Gábor wrote:
> 
> > The test 'add -p does not expand argument lists' in
> > 't3701-add-interactive.sh', added in 7288e12cce (add--interactive: do
> > not expand pathspecs with ls-files, 2017-03-14), checks the GIT_TRACE
> > of 'git add -p' to ensure that the name of a tracked file wasn't
> > passed around as argument to any of the commands executed as a result
> > of undesired pathspec expansion.  This check is done with 'grep' using
> > the filename on its own as the pattern, which is too loose a pattern,
> > and would match any occurrences of the filename in the trace output,
> > not just those as command arguments.  E.g. if a developer were to
> > litter the index handling code with trace_printf()s printing, among
> > other things, the name of the just processed cache entry, then that
> > pattern would mistakenly match these as well, and would fail the test.
> 
> Is this a real thing we're running into?

Well, we, in general, don't, but that example mentioned in the commit message does contain autobiographical elements :)

> I'd have thought that anybody
> adding index-specific tracing would do it as GIT_TRACE_INDEX.

Depends on the purpose, I guess. For tracing that is aimed to become part of in git, definitely. However, for my own ad-hoc tracing used to try to make sense of some split-index corner cases, trace_printf() is perfect.

Show 15 quoted lines
> It's
> unfortunate that "trace commands and processes" is just GIT_TRACE, and not
> GIT_TRACE_RUN or similar. But that's mostly historical. I wouldn't
> expect people to add other subsystems to it.
> 
> Not that I'm totally opposed to your patch, but it's a little sad that
> we have to match the specific text used in GIT_TRACE now (and if they
> ever changed we won't even notice, but rather the test will just become
> a silent noop).
> 
> I think it would be nice if we could move towards something like:
> 
>   - move current GIT_TRACE messages to use GIT_TRACE_COMMAND or similar
> 
>   - abolish trace_printf() without a specific subsystem key
Nah, please leave trace_printf() alone.
Show 10 quoted lines
>   - do one of:
> 
>     - keep GIT_TRACE as a historical synonym for GIT_TRACE_COMMAND; that
>       keeps things working as they are now
> 
>     - have GIT_TRACE enable _all_ tracing; that's a change in behavior,
>       but arguably a more useful thing to have going forward (e.g., when
>       you're not sure which traces are even available)
> 
> And then a test like this would just use GIT_TRACE_COMMAND.
Except for removing keyless trace_printf(), I agree.
Previous: Junio C HamanoNext: Jeff King
Message 6 of 7 in “t3701-add-interactive: tighten the check of trace output”
  1. t3701-add-interactive: tighten the check of trace outputSZEDER Gábor, Sep 10, 2018
  2. Taylor BlauSep 10, 2018
  3. Taylor BlauSep 18, 2018
  4. Jeff KingSep 10, 2018
  5. Junio C HamanoSep 10, 2018
  6. SZEDER GáborSep 10, 2018
  7. Jeff KingSep 10, 2018

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.