[squid-users] Git tag strategy in Squids GitHub repo

Alex Rousskov rousskov at measurement-factory.com
Fri Aug 24 14:31:06 UTC 2018

On 08/24/2018 05:50 AM, Amos Jeffries wrote:
> The next opportunity I had for tagging the release checkouts was 4.2
> which got tagged with SQUID_4_2 accordingly for PR 272.

> As you can see that tag still does not exist in the master repository.

Naturally. As I have tried to explain, tags are unrelated to GitHub PRs
and git branches. The official repository does not know what you tag in
your own repository, and GitHub cannot (correctly) automatically copy
tags between repositories because tags are independent names or objects
that can be (and often are!) specific to a repository.

FWIW, many projects use merge bots and protected GitHub branches. I have
not checked each project, so I am sure there are exceptions, but am not
aware of any of those projects tagging releases automatically. In fact,
the "gold standard" for tagging involves a human signing the tag! I am
not implying we must sign tags; this paragraph is only meant to
illustrate that what you think should be happening usually does not. The
previous paragraph (and my previous emails) explain that it probably
does not happen because it goes against git design.

As you know from my March email, GitHub actually has a web interface for
doing releases. Naturally, that functionality is based on tags. That
GitHub interface even allows you to tag a release! Again, I am not
saying we must use that interface or the underlying GitHub API. This
paragraph exists to provide one more example of releases/tagging being
treated separately from PRs and code commits. It also shows that you
have other tools to tag a release if you do not want to or cannot use
git command line.

> Alex "proposal" was to teach me about the git command line option(s) to
> push tags to the repository. 

That was a small part of my email. A far more important (IMO) part was
about the nature of git tags. It looks like neither part had a desirable

> Which has worked fine .. for the repo I was using. It has not helped
> with the public github one you are using.

Why not? In other words, what did you do to push a tag from one
repository into another, and what happened when you did that? It is
difficult for me to help unless you tell me that you need help and
provide sufficient information to triage the problem.

Needless to say, you should experiment on unofficial repositories.

> The Anubis bot gateways all changes to the master repository

That assertion is incorrect. For example, Anubis does not (and IMO
should not) deal with branch creation and release tagging.

> - so to me it seems like a reasonable place to be handling the issue
> of some PR needing to be tagged as release.

Your suggestion to teach Anubis to tag releases is certainly reasonable.
However, I still think it is wrong to place a highly sensitive and
unrelated to PR merging act into a PR merging bot. Perhaps more
importantly, while we are discussing that suggestion, nothing stops you
from properly tagging all of the official releases now AFAICT.

> I'd rather have Anubis do the tagging than pulling in random tags from
> any contributors repos.

Me too, but that is a false dichotomy. The correct short-term solution
is, IMHO, to learn how to manually tag past official releases and tag them.


More information about the squid-users mailing list