Subject: Re: a more helpful message on "git status" output

From: Junio C Hamano <[email-masked]>
Date: Fri, 18 Jul 2014 12:29:11 -0700

Julián Landerreche <[email-masked]> writes:

> when running "git status", if the current branch can be
> fast-forwarded, the user get this message:
>
>   On branch master
>   Your branch is behind 'origin/master' by 6 commits, and can be fast-forwarded.
>     (use "git pull" to update your local branch)
>
> The suggestion of using "git pull" for updating the local branch,
> although it will work, might not be a proper choice or advice in terms
> of what is really needed to just update the local branch.
>
> As the user already has the newer commits locally (ie. the commits
> have been already "git fetch"ed), he just needs to merge them. Running
> "git pull" will unnecessarily try to fetch commits from upstream
> again.

By running "git pull", the user may obtain yet newer commits from
the upstream, which very likely will happen in an active project, or
"git fetch" launched by "git pull" will return without doing
anything after noticing there is nothing new.

As long as the updates to the upstream is also a fast-forward, it
will still fast-forward you, but to an even newer state of the
upstream.

There is no harm done[*1*] by suggesting "git pull" over "git
merge", no?

[Footnote]

*1* There is a bigger problem with this message, especially when the
user sees it on 'master', but your message is about the case where
you are strictly behind and that bigger problem will not be an
issue, so I won't discuss it further.