git tag's history

4 messages, 4 authors, 2016-06-15 · open the first message on its own page

git tag's history

From: Mahesh Vaidya <hidden>
Date: 2016-06-15 22:49:10

If git tag's history is preserved or I need to implement this in
pre-receive hook

Scenario
^^^^^^^^^^^^
I create a tag FOO -corresponding to a commit cdf123

FOO->cdf123 and I push this Tag to authoritative repository ; all fine.

Now my buddy creates overwrite my tag (git tag -f) and now this tag
looks at some other commit

FOO->123aff

He does a push tag FOO; assuming no restriction in pre-receive this
push will get applied and my earlier cdf123 is lost. Is there any way
to retrive Tag's history or in need to implement some scheme

Thx/ Mahesh

Re: git tag's history

From: David Aguilar <hidden>
Date: 2016-06-15 22:49:11

On Sat, Jul 24, 2010 at 5:12 AM, Mahesh Vaidya [off-list ref] wrote:
If git tag's history is preserved or I need to implement this in
pre-receive hook

Scenario
^^^^^^^^^^^^
I create a tag FOO -corresponding to a commit cdf123

FOO->cdf123 and I push this Tag to authoritative repository ; all fine.

Now my buddy creates overwrite my tag (git tag -f) and now this tag
looks at some other commit

FOO->123aff

He does a push tag FOO; assuming no restriction in pre-receive this
push will get applied and my earlier cdf123 is lost. Is there any way
to retrive Tag's history or in need to implement some scheme

Thx/ Mahesh

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.

-- 
    David

Re: git tag's history

From: Will Palmer <hidden>
Date: 2016-06-15 22:49:11

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.
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. 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?"

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.

Re: git tag's history

From: Nicolas Sebrecht <hidden>
Date: 2016-06-15 22:49:11

The 26/07/10, Will Palmer wrote:
On Mon, 2010-07-26 at 02:36 -0700, David Aguilar wrote:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help