From: Ben Denhartog Date: Sat, 02 May 2020 21:01:35 GMT Subject: --no-tags doesn't appear to be working as intended Message-ID: <7480e635-97cc-4acd-875e-54bc71a88068@www.fastmail.com> From the documentation, it would appear that `--no-tags` should avoid pulling tags, even if they point to refs which match the refspec being fetched: > -n, --no-tags > By default, tags that point at objects that are downloaded from the remote repository are fetched and > stored locally. This option disables this automatic tag following. The default behavior for a remote may > be specified with the remote..tagOpt setting. See git-config(1). This, however, does not appear to be the case: Either using the `--no-tags` flag on the command line directly or setting `remote..tagopt = --no-tags` appears to be ignored when running `git-fetch`. This can be recreated simply: ``` # /tmp/a will be our "origin" # /tmp/b will be our "fork" mkdir /tmp/{a,b} # set up the origin git -C /tmp/a init echo "Hello, world" >/tmp/a/README git -C /tmp/a add README git -C /tmp/a commit -m 'initial commit' git -C /tmp/a tag 0.0.1 HEAD # set up the fork git -C /tmp/b init git -C /tmp/b remote add -f --no-tags upstream file:///tmp/a ``` You'll see the 0.0.1 tag being fetched. You can delete it all you want, set the `remote.upstream.tagopt = --no-tags`, etc -- it will always be pulled. This is the opposite behavior I would expect based on the available documentation and discussion around the tag in the mailing list. -- Ben Denhartog ben@sudoforge.com