git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
* why do "git log -h" and "git show -h" print the same thing?
@ 2018-05-24 13:37 Robert P. J. Day
  2018-05-24 22:42 ` Stefan Beller
  0 siblings, 1 reply; 4+ messages in thread
From: Robert P. J. Day @ 2018-05-24 13:37 UTC (permalink / raw)
  To: Git Mailing list


  maybe this is deliberate, but it's confusing that, with git 2.17.0,
the output of both "git log -h" and "git show -h" is exactly the same:

$ git log -h
usage: git log [<options>] [<revision-range>] [[--] <path>...]
   or: git show [<options>] <object>...

    -q, --quiet           suppress diff output
    --source              show source
    --use-mailmap         Use mail map file
    --decorate-refs <pattern>
                          only decorate refs that match <pattern>
    --decorate-refs-exclude <pattern>
                          do not decorate refs that match <pattern>
    --decorate[=...]      decorate options
    -L <n,m:file>         Process line range n,m in file, counting from 1
$

is that what's *supposed* to happen?

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                  http://crashcourse.ca/dokuwiki

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: why do "git log -h" and "git show -h" print the same thing?
  2018-05-24 13:37 why do "git log -h" and "git show -h" print the same thing? Robert P. J. Day
@ 2018-05-24 22:42 ` Stefan Beller
  2018-05-24 22:53   ` Robert P. J. Day
  2018-05-27 10:24   ` Thomas Gummerer
  0 siblings, 2 replies; 4+ messages in thread
From: Stefan Beller @ 2018-05-24 22:42 UTC (permalink / raw)
  To: Robert P. J. Day; +Cc: Git Mailing list

On Thu, May 24, 2018 at 6:37 AM, Robert P. J. Day <rpjday@crashcourse.ca> wrote:
>
>   maybe this is deliberate, but it's confusing that, with git 2.17.0,
> the output of both "git log -h" and "git show -h" is exactly the same:
>
> $ git log -h
> usage: git log [<options>] [<revision-range>] [[--] <path>...]
>    or: git show [<options>] <object>...
>
>     -q, --quiet           suppress diff output
>     --source              show source
>     --use-mailmap         Use mail map file
>     --decorate-refs <pattern>
>                           only decorate refs that match <pattern>
>     --decorate-refs-exclude <pattern>
>                           do not decorate refs that match <pattern>
>     --decorate[=...]      decorate options
>     -L <n,m:file>         Process line range n,m in file, counting from 1
> $
>
> is that what's *supposed* to happen?

I would think so, show is just "log -p" with the range clamped
down to <object>^..<object>.

It's been in the code like that for a couple years by now,
e.g. see
e66dc0cc4b1a6 log.c: fix translation markings, 2015-01-06

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: why do "git log -h" and "git show -h" print the same thing?
  2018-05-24 22:42 ` Stefan Beller
@ 2018-05-24 22:53   ` Robert P. J. Day
  2018-05-27 10:24   ` Thomas Gummerer
  1 sibling, 0 replies; 4+ messages in thread
From: Robert P. J. Day @ 2018-05-24 22:53 UTC (permalink / raw)
  To: Stefan Beller; +Cc: Git Mailing list

On Thu, 24 May 2018, Stefan Beller wrote:

> On Thu, May 24, 2018 at 6:37 AM, Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> >
> >   maybe this is deliberate, but it's confusing that, with git 2.17.0,
> > the output of both "git log -h" and "git show -h" is exactly the same:
> >
> > $ git log -h
> > usage: git log [<options>] [<revision-range>] [[--] <path>...]
> >    or: git show [<options>] <object>...
> >
> >     -q, --quiet           suppress diff output
> >     --source              show source
> >     --use-mailmap         Use mail map file
> >     --decorate-refs <pattern>
> >                           only decorate refs that match <pattern>
> >     --decorate-refs-exclude <pattern>
> >                           do not decorate refs that match <pattern>
> >     --decorate[=...]      decorate options
> >     -L <n,m:file>         Process line range n,m in file, counting from 1
> > $
> >
> > is that what's *supposed* to happen?
>
> I would think so, show is just "log -p" with the range clamped
> down to <object>^..<object>.
>
> It's been in the code like that for a couple years by now,
> e.g. see
> e66dc0cc4b1a6 log.c: fix translation markings, 2015-01-06

  ah, very well, it just caught me by surprise.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                  http://crashcourse.ca/dokuwiki

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: why do "git log -h" and "git show -h" print the same thing?
  2018-05-24 22:42 ` Stefan Beller
  2018-05-24 22:53   ` Robert P. J. Day
@ 2018-05-27 10:24   ` Thomas Gummerer
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Gummerer @ 2018-05-27 10:24 UTC (permalink / raw)
  To: Stefan Beller; +Cc: Robert P. J. Day, Git Mailing list

On 05/24, Stefan Beller wrote:
> On Thu, May 24, 2018 at 6:37 AM, Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> >
> >   maybe this is deliberate, but it's confusing that, with git 2.17.0,
> > the output of both "git log -h" and "git show -h" is exactly the same:
> >
> > $ git log -h
> > usage: git log [<options>] [<revision-range>] [[--] <path>...]
> >    or: git show [<options>] <object>...
> >
> >     -q, --quiet           suppress diff output
> >     --source              show source
> >     --use-mailmap         Use mail map file
> >     --decorate-refs <pattern>
> >                           only decorate refs that match <pattern>
> >     --decorate-refs-exclude <pattern>
> >                           do not decorate refs that match <pattern>
> >     --decorate[=...]      decorate options
> >     -L <n,m:file>         Process line range n,m in file, counting from 1
> > $
> >
> > is that what's *supposed* to happen?
> 
> I would think so, show is just "log -p" with the range clamped
> down to <object>^..<object>.

Hmm, that's not true though if the object is not a commit, from my
understanding?  While 'git show' does share some of its code with 'git
log', what you get as output may be quite different from what you'd
get with 'git log'.  So I feel like we're leaking an implementation
detail to the user here, and I can see how it is confusing especially
for new users.

So I do feel like there's some room for improvement here, by only
showing the help for the command that was actually used.  I would
welcome a patch to that extend, but obviously I'm not the authority
here :)

> It's been in the code like that for a couple years by now,
> e.g. see
> e66dc0cc4b1a6 log.c: fix translation markings, 2015-01-06

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-05-27 10:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-24 13:37 why do "git log -h" and "git show -h" print the same thing? Robert P. J. Day
2018-05-24 22:42 ` Stefan Beller
2018-05-24 22:53   ` Robert P. J. Day
2018-05-27 10:24   ` Thomas Gummerer

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).