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

Re: 'show' pretty %B without a diff

From
Peter Vereshagin <peter@vereshagin.org>
Date
Dec 21, 2010, 11:04 UTC
Message-ID
<20101221104641.GA8600@external.screwed.box>
In-Reply-To
<7v4oa8cobn.fsf@alter.siamese.dyndns.org>

You know St. Peter won't call my name, Junio! 2010/12/20 10:05:16 -0800 Junio C Hamano <gitster@pobox.com> => To Peter Vereshagin :

JCH> > JCH> Especially if you are doing a script, you probably should be using JCH> > JCH> "cat-file commit" anyway, no? JCH> > JCH> > cat-file doesn't seem to support formatting option? JCH> JCH> That is exactly why I suggested "cat-file", as you are scripting. We JCH> reserve the right to change the human-visible formatting output from JCH> Porcelain commands like "show" any time to make it "prettier" (we may JCH> start coloring strings that look like object names in the commit log JCH> message in "git show" output, for example), while giving scripts more JCH> stable output through the plumbing commands like "cat-file" so that they JCH> can parse and process without having to worry about the output format JCH> changing under them.

IMHO there is a difference between coloring the output and digging the data from the storage, the what is the %B is about for me. In a context of a script I believe every scriptwriter should expect a function like get_comment_raw( $commitId ) than to worry about command output stability. This is just where I believe the Git.pm will get closer to. One day. No matter if such a function should look more like this: $gitObject->newById( $commitId )->showDetails( '%B' ); . The I/O operations for this I believe should be the storage files opening and reading, thus the piping from commands like 'cat-file' is only the temporary solution. Isn't it? For the applications such an API approach is just more expectable than porcelain versus plumbing commands. Although this requires care about features like the particular (e.g., Perl) bindings, it is a must for the applications efficiency which is a sense for a modern web at least.

JCH> If your script is _not_ parsing the git command output, but is just JCH> blindly spewing it out to the invoking user, it is Ok to use "show", JCH> though. Check "-s" option to the "show" command in that case.

"show" command doesn't seem to have "-s" switch. Skip it up though ;-)

73! Peter pgp: A0E26627 (4A42 6841 2871 5EA7 52AB 12F8 0CE1 4AAC A0E2 6627) -- http://vereshagin.org

Previous: Junio C HamanoNext: Jakub Narebski
Message 5 of 10 in “'show' pretty %B without a diff”
  1. Peter VereshaginDec 20, 2010
  2. Junio C HamanoDec 20, 2010
  3. Peter VereshaginDec 20, 2010
  4. Junio C HamanoDec 20, 2010
  5. Peter VereshaginDec 21, 2010
  6. Jakub NarebskiDec 21, 2010
  7. Jonathan NiederDec 21, 2010
  8. Martin LanghoffDec 21, 2010
  9. Jakub NarebskiDec 21, 2010
  10. peter@vereshagin.orgDec 22, 2010

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.