Subject: Tags from each remote in a separate "name-space"?

From: Sergey Organov <[email-masked]>
Date: Thu, 28 Feb 2019 08:54:23 +0300

Hello,

How do I configure git to handle tags from remotes in a manner similar
to branches?

Specifically, I want tag 'tag_name' from remote 'origin' to have local
name 'origin/tag_name', not 'tag_name', as it is by default. For a repo
with a lot of remotes[*] it would allow to keep track of what tag came from
where, as well as prevent name conflicts between tags from different
remotes (and/or local tags).

Fetch-only solution ('fetch', 'pull', and 'remote update' support only)
would do, though push support would be interesting to have as well, so
that, say

$ git push origin/tag_name

works as

$ git push origin origin/tag_name:refs/tags/tag_name

Am I dreaming, or is it already supported?

[*] I ran into it managing Linux kernel sources for different ARM
architectures. Mainstream Linux plus stable Linux plus 2 vendor-specific
remotes plus 3 our local remotes made a mess of various tags in the
repository.

-- Sergey