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

Re: [PATCH 2/5] check-ignore: allow incremental streaming of queries via --stdin

From
Adam Spiers <git@adamspiers.org>
Date
Apr 11, 2013, 10:55 UTC
Message-ID
<20130411105514.GA24296@pacific.linksys.moosehall>
In-Reply-To
<20130411053145.GB28915@sigill.intra.peff.net>
On Thu, Apr 11, 2013 at 01:31:45AM -0400, Jeff King wrote:
Show 20 quoted lines
> On Thu, Apr 11, 2013 at 02:59:32AM +0100, Adam Spiers wrote:
> 
> > @@ -111,14 +110,11 @@ static int check_ignore_stdin_paths(struct path_exclude_check check, const char
> >  				die("line is badly quoted");
> >  			strbuf_swap(&buf, &nbuf);
> >  		}
> > -		ALLOC_GROW(pathspec, nr + 1, alloc);
> > -		pathspec[nr] = xcalloc(strlen(buf.buf) + 1, sizeof(*buf.buf));
> > -		strcpy(pathspec[nr++], buf.buf);
> > +		pathspec[0] = xcalloc(strlen(buf.buf) + 1, sizeof(*buf.buf));
> > +		strcpy(pathspec[0], buf.buf);
> > +		num_ignored += check_ignore(check, prefix, (const char **)pathspec);
> > +		maybe_flush_or_die(stdout, "check-ignore to stdout");
> 
> Now that you are not storing the whole pathspec at once, the pathspec
> buffer only needs to be valid for the length of check_ignore, right?
> That means you can drop this extra copy and just pass in buf.buf:
> 
>   pathspec[0] = buf.buf;
>   num_ignored += check_ignore(check, prefix, pathspec);
Oops, good point - thanks.  I've made that change.
Show 8 quoted lines
> > +test_expect_success 'setup: have stdbuf?' '
> > +	if which stdbuf >/dev/null 2>&1
> > +	then
> > +		test_set_prereq STDBUF
> > +	fi
> > +'
> 
> Hmm. Today I learned about stdbuf. :)
Yeah, it's a relatively recent addition to coreutils.
Previous: Jeff KingNext: Adam Spiers
Message 7 of 33 in “RFC: two minor tweaks to check-ignore to help git-annex assistant”
  1. Adam SpiersApr 8, 2013
  2. Junio C HamanoApr 8, 2013
  3. Jeff KingApr 8, 2013
  4. 1/5 check-ignore: move setup into cmd_check_ignore()Adam Spiers, Apr 11, 2013
  5. 2/5 check-ignore: allow incremental streaming of queries via --stdinAdam Spiers, Apr 11, 2013
  6. Jeff KingApr 11, 2013
  7. Adam SpiersApr 11, 2013
  8. Adam SpiersApr 11, 2013
  9. Jeff KingApr 11, 2013
  10. 3/5 Documentation: add caveats about I/O buffering for check-{attr,ignore}Adam Spiers, Apr 11, 2013
  11. Jeff KingApr 11, 2013
  12. 4/5 t0008: remove duplicated test fixture dataAdam Spiers, Apr 11, 2013
  13. 5/5 check-ignore: add -n / --non-matching optionAdam Spiers, Apr 11, 2013
  14. Jeff KingApr 11, 2013
  15. Adam SpiersApr 11, 2013
  16. 1/5 t0008: remove duplicated test fixture dataAdam Spiers, Apr 11, 2013
  17. 2/5 check-ignore: add -n / --non-matching optionAdam Spiers, Apr 11, 2013
  18. 3/5 check-ignore: move setup into cmd_check_ignore()Adam Spiers, Apr 11, 2013
  19. 4/5 check-ignore: allow incremental streaming of queries via --stdinAdam Spiers, Apr 11, 2013
  20. Jeff KingApr 11, 2013
  21. Adam SpiersApr 11, 2013
  22. Jeff KingApr 11, 2013
  23. Junio C HamanoApr 22, 2013
  24. Adam SpiersApr 24, 2013
  25. t0008: use named pipe (FIFO) to test check-ignore streamingAdam Spiers, Apr 29, 2013
  26. Aaron SchrabApr 11, 2013
  27. Adam SpiersApr 11, 2013
  28. 5/5 Documentation: add caveats about I/O buffering for check-{attr,ignore}Adam Spiers, Apr 11, 2013
  29. Junio C HamanoApr 11, 2013
  30. 5/5 Documentation: add caveats about I/O buffering for check-{attr,ignore}Adam Spiers, Apr 11, 2013
  31. Junio C HamanoApr 12, 2013
  32. Adam SpiersApr 12, 2013
  33. Jeff KingApr 11, 2013

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.