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

Re: [PATCH 0/3] "log --stdin" updates

From
Jeff King <peff@peff.net>
Date
Nov 20, 2009, 14:40 UTC
Message-ID
<20091120144030.GB5419@coredump.intra.peff.net>
In-Reply-To
<1258716315-2213-1-git-send-email-gitster@pobox.com>
On Fri, Nov 20, 2009 at 03:25:12AM -0800, Junio C Hamano wrote:
Show 6 quoted lines
> These three come on top of 61ab67a (Teach --stdin option to "log" family,
> 2009-11-03), which gave "--stdin" to the log family of commands (e.g. log,
> rev-list).  The earlier patch allowed you to feed only the revs (which was
> what gitk originally wanted), but after zero or more revs (one rev per
> line), you can now feed a line that consists of "--" and then pathspecs
> (one path per line).

This looks like a good API feature, though I am curious about the missing "4/3" that was the motivation (of course, with a feature like this, it may be for your out-of-git script, but as I said, I am curious :) ). Is it a response to

  http://article.gmane.org/gmane.comp.version-control.git/133268
?

The implementation looks good from my cursory reading. Tests and docs are of course missing. We don't seem to have any rev-list --stdin tests already. Maybe even something as simple as:

  git rev-list HEAD -- file >expect &&
  (echo HEAD; echo --; echo file) | git rev-list --stdin >actual &&
  test_cmp expect actual

For docs, maybe squash this in (it mentions the pathspecs, but also loosens --stdin to be available for "git log" and friends, which should have been part of 61ab67a).

diff --git a/Documentation/rev-list-options.txt b/Documentation/rev-list-options.txt
index bf66116..b44fdd9 100644
--- a/Documentation/rev-list-options.txt
+++ b/Documentation/rev-list-options.txt
@@ -243,12 +243,14 @@ endif::git-rev-list[]
 	Pretend as if all the refs in `$GIT_DIR/refs/remotes` are listed
 	on the command line as '<commit>'.
 
-ifdef::git-rev-list[]
 --stdin::
 
 	In addition to the '<commit>' listed on the command
-	line, read them from the standard input.
+	line, read them from the standard input. If a '--' separator is
+	seen, stop reading commits and start reading paths to limit the
+	result.
 
+ifdef::git-rev-list[]
 --quiet::
 
 	Don't print anything to standard output.  This form
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 6 in “"log --stdin" updates”
  1. 0/3 "log --stdin" updatesJunio C Hamano, Nov 20, 2009
  2. 1/3 read_revision_from_stdin(): use strbufJunio C Hamano, Nov 20, 2009
  3. 2/3 setup_revisions(): do not call get_pathspec() too earlyJunio C Hamano, Nov 20, 2009
  4. 3/3 Make --stdin option to "log" family read also pathspecsJunio C Hamano, Nov 20, 2009
  5. Jeff KingNov 20, 2009
  6. Junio C HamanoNov 20, 2009

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.