Subject: Re: git pull unclear manual

From: Sergey Organov <[email-masked]>
Date: Thu, 04 Mar 2021 14:52:14 +0300

Junio C Hamano <[email-masked]> writes:

> Sergey Organov <[email-masked]> writes:
>
>> Here is how "git help pull" begins:
>>
>> <q>
>> NAME
>>        git-pull - Fetch from and integrate with another repository or a local
>>        branch
>>
>> SYNOPSIS
>>        git pull [<options>] [<repository> [<refspec>...]]
>> </q>
>>
>> From this, how do one figures how to "integrate with ... local branch"?
>>
>> Is "git pull" useful to integrate with a local branch at all?
>
> Yes, you can refer to your local repository as ".", so
>
> 	git pull . another-branch
>
> will integrate the history of your local "another-branch" into
> the history of the branch you have currently checked out.

Nice, thanks!

Do you think the manual needs some improvement still?

I mean, I'd then expect something like this as the SYNOPSIS:

"git-pull - Fetch from and integrate with another or current repository"

with further clarification in the DESCRIPTION of how integration with
current repository could be useful.

The present description, if we drop "another repository" for the sake of
the argument, reads:

"git-pull - Fetch from and integrate with a local branch"

that sounds plain wrong to me.

Also, I got confused further as the manual consistently uses "remote
repository" to describe <repository>, and that doesn't easily maps to
"current repository" in my mind.

Further, the manual says that <refspec> is simply passed to the "git
fetch", and "git help fetch" adds to the confusion, as it says:

  git-fetch - Download objects and refs from *another repository*
  
  Fetch branches and/or tags (collectively, "refs") from one or more
  *other repositories*, along with the objects necessary to complete
  their histories.

that doesn't suggest "current repository" in some form is allowed
either.

BTW, why are these "other", "remote", "another" attributes there in
the manual in the first place? Why don't just say:

  git-fetch - Download objects and refs from repositories
  
  Fetch branches and/or tags (collectively, "refs") from one or more
  repositories, along with the objects necessary to complete their
  histories, into the current repository.

Thanks,
-- Sergey