threads / discuss / 9868

Conflicting "-n" short options for git-pull?

Subject: Conflicting "-n" short options for git-pull?

## tl;dr

3 messages between Sep 15, 2007 and Sep 16, 2007.

replies: 2people: 2as markdown or json

Frans Pop· Sep 15, 2007, 19:14 UTC · lore
Hello,

According to the man page for git-pull from git-core 1.5.3.1 (Debian package), two options are defined as having the short option "-n":

     -n, --no-summary
         Do not show diffstat at the end of the merge.
[...]
     -n, --no-tags
         By default, git-fetch fetches tags that point at objects that are
         downloaded from the remote repository and stores them locally. This
         option disables this automatic tag following.

Cheers, Frans Pop

Junio C Hamano· Sep 15, 2007, 23:39 UTC · re: Frans Pop · lore

Re: Conflicting "-n" short options for git-pull?

Frans Pop <elendil@planet.nl> writes:
Show 10 quoted lines
> According to the man page for git-pull from git-core 1.5.3.1 (Debian 
> package), two options are defined as having the short option "-n":
>
>      -n, --no-summary
>          Do not show diffstat at the end of the merge.
> [...]
>      -n, --no-tags
>          By default, git-fetch fetches tags that point at objects that are
>          downloaded from the remote repository and stores them locally. This
>          option disables this automatic tag following.

The manpage option descriptions are shared between the commands. Maybe we should drop mention of the shorthand form.

When git-fetch is used -n means --no-tags because there is no other -n; when git-pull indirectly invokes git-fetch, you need to spell it --no-tags because --no-summary takes precedence.

Frans Pop· Sep 16, 2007, 11:17 UTC · re: Junio C Hamano · lore

Re: Conflicting "-n" short options for git-pull?

On Sunday 16 September 2007, Junio C Hamano wrote:
Show 14 quoted lines
> Frans Pop <elendil@planet.nl> writes:
> > According to the man page for git-pull from git-core 1.5.3.1 (Debian
> > package), two options are defined as having the short option "-n":
> >
> >      -n, --no-summary
> >          Do not show diffstat at the end of the merge.
> > [...]
> >      -n, --no-tags
> >          By default, git-fetch fetches tags that point at objects that
> > are downloaded from the remote repository and stores them locally. This
> > option disables this automatic tag following.
>
> The manpage option descriptions are shared between the
> commands.  Maybe we should drop mention of the shorthand form.

Not sure if that last is the correct solution. Wouldn't it mean that short options would not be documented at all anymore?

> When git-fetch is used -n means --no-tags because there is no
> other -n; when git-pull indirectly invokes git-fetch, you need
> to spell it --no-tags because --no-summary takes precedence.

That does explain, but it is not at all obvious from the documentation. Guess this is a general "problem" in git then.

Another question. Is it possible to set default options for commands somehow? I'd like to run git-pull with '--no-summary' by default. I could of course define an alias, but that only covers 'git-pull' and not 'git pull'. Does git itself have some mechanism for this?

Thanks, Frans Pop

← back to recent threads