Subject: Re: git tag's history

From: Nicolas Sebrecht <[email-masked]>
Date: Mon, 26 Jul 2010 16:17:55 +0200

The 26/07/10, Will Palmer wrote:
> On Mon, 2010-07-26 at 02:36 -0700, David Aguilar wrote:
> > He won't be able to push the tag unless he forcibly deletes your tag first.
> > 
> > Tags do not have history.  This is a non-technical problem.  If s/he's
> > deleting your tags, it's a social problem.

True in the first place but I see nothing wrong to want to have
technical safeguards around social issues.

> What about enabling the reflog on the shared bare repository?
> Tags get changed. That's a fact. It's a necessity, no matter what the
> theoretical model says. Sometimes there's a reason to replace a tag, and
> when that happens there is sometimes a reason to hang on to the old
> value.

Sharing a central repository makes it exposed on such erasure. Git
provides other mechanisms to take more control. Your workflow may not be
what everybody want for themselves. You should look at the hooks system,
I think.

You might also be interested by gitolite, an external tool (I'm not sure
it could help on this particular issue, though).

>        Pretending "it's a social issue" ignores reality, not the least
> important aspect of which is "social issues happen. How do we avoid
> losing information in a sane, scalable manner?"

It shouldn't be lost. The bare repository can be seen as a gate to
publicize local work (or a backup copy sometimes). The original tag can
be restored by his creator from his local repository.

> Just an example of a tag which could stand to be updated, take a look
> at: refs/tags/junio-gpg-pub  There's at least one thing in there which
> is out of date.

Hard tags are designed to be immutable whatever happens after the
facts. This is why they exist.

Public tags shouldn't change as it would break other up-to-date
repositories.

-- 
Nicolas Sebrecht