Re: [PATCH] push: disallow fast-forwarding tags without --force

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, 27 Aug 2010, Junio C Hamano wrote:

> Dave Olszewski <cxreg@xxxxxxxxx> writes:
> 
> > Generally, tags are considered a write-once ref (or object), and updates
> > to them are the exception to the rule.  This is evident from the
> > behavior of "git fetch", which will not update a tag it already has
> > unless --tags is specified, and from the --force option to "git tag".
> 
> The title and what you describe later in your proposed log message do not
> match.  This is about "push: disallow updating an existing tag by default"
> isn't it?

I don't see a major difference in meaning, since only fast-forwards are
allowed without --force, but you're right about my intent.  I'm happy to
change the commit message.

> This proposes a big change in the policy, and I do not like it starting
> out as the new default to forbid people from doing something they have
> been allowed to do for a long time.  I recall hearing some people auto
> tagging the latest version their autobuilder/tester tested successfully
> and updating the same tag nightly---your change will break their cron
> script, no?
> 
> If you ship the feature disabled by default first, it will still allow
> people to take advantage of it by simply flipping the feature on, instead
> of having to install their own update hook.  In a later version, if and
> when enough people agree that this should be on by default, we can do so
> at a version bump.

Yes that's true.  I suspected based on the lack of any documentation or
tests promising such behavior, the inclination for git to want to
pretend that changed tags haven't changed, and the social stigma against
it, that this was a bug.

It's trivial for someone to update build software from "git push remote
tag" to "git push remote +tag" or "git push -f remote tag", but I can
understand your objection.  It's the reason I didn't also add
receive.denyMovingTags to the default config for bare repositories.

It seems unlikely that many people are ever going to "flip on" this
feature; either they won't know about it (and for them, it should be
on), or they'll have a reason to move a tag, and want it off.  That, and
my perception that this was unintentional behavior, is the reason I
patched it to be default.

However, If you still feel strongly about this, I can rework it to be
optional.  Thanks for your feedback!

    Dave
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]