Re: Fetching master branch with tags associated with it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 21, 2019 at 06:02:54PM +0100, Dominik Salvet wrote:

> Now, I want to refresh the repository the same way - fetching only
> commits from the master branch and tags that are pointing to the
> master branch and also refresh those tags as well in case of their
> target commit change at the remote (you can expect that it always
> points to a master commit). Nevertheless, I don't really know how to
> do it. The closest I got, are the following commands:
> 
> ```sh
> git fetch --tags origin master &&
> git merge FETCH_HEAD
> ```
> 
> However, there obviously are some problems with this solution. The
> `--tags` flag will cause to fetch tags from all branches. Furthermore,
> it will fetch also their commits, which is absolutely what I don't
> want to.
> 
> I have Git 2.17.1 (on Ubuntu 18.04.2) and in its `git fetch --help` is
> stated, if I understood it correctly, that without passing neither
> `--tags` nor `--no-tags`, it will do exactly what I want.
> Nevertheless, without using any of the mentioned flags, it behaves
> more like using `--no-tags`.

Generally yes, that's how it's supposed to work. However, I think
tag-following does not kick in when you've given a specific refspec.

So take this toy setup for example:

-- >8 --
git init repo
cd repo

# one tags accessible from master
git commit --allow-empty -m one
git tag one

# one tag accessible only from "other"
git checkout -b other
git commit --allow-empty -m two
git tag two

# now fetch into another repository
git init child
cd child
git remote add origin ..
git fetch origin master
-- 8< --

That won't pick up the "one" tag in that final fetch. But if you use the
normal configured refspec (but tell it only to grab "master"):

  git config remote.origin.fetch refs/heads/master:refs/remotes/origin/master
  git fetch origin

then it works. I don't know if there's a less-awkward way to get what
you want, though. It really seems like there should be a "--tags=follow"
or similar.

-Peff



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux