On 2024-08-29 at 21:44:02, Junio C Hamano wrote: > "brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> writes: > > > If you want tags nonetheless, you can use the `--tags` option, which > > should fetch tags in addition to the refspec provided. > > But doesn't that grab _all_ tags, not only the relevant tags that > point into the history leading to the commits being fetched? It's not clear to me. The description says this: By default, any tag that points into the histories being fetched is also fetched; the effect is to fetch tags that point at branches that you are interested in. This default behavior can be changed by using the --tags or --no-tags options or by configuring remote.<name>.tagOpt. By using a refspec that fetches tags explicitly, you can fetch tags that do not point into branches you are interested in as well. That implies that `--tags` or `--no-tags` simply changes whether that limited set of tags is fetched. But the `--tags` option says this: Fetch all tags from the remote (i.e., fetch remote tags refs/tags/* into local tags with the same name), in addition to whatever else would otherwise be fetched. Using this option alone does not subject tags to pruning, even if --prune is used (though tags may be pruned anyway if they are also the destination of an explicit refspec; see --prune). That implies that all tags are fetched. I think we need somebody to test things and clarify the documentation. (I'm not volunteering because I have a lot of things on my plate right now.) In addition, it might be useful to add a `--relevant-tags` option or some such that simply fetches the relevant tags when arbitrary refspecs are specified. If someone felt super interested, they could even make an additional generic option over other refspecs (I can imagine something like GitHub's refs/pull might be interesting for users). -- brian m. carlson (they/them or he/him) Toronto, Ontario, CA
Attachment:
signature.asc
Description: PGP signature