Hi!

This message is for anybody that is going to create tags in PHP's git
repo. If you are not going to do that ever, you may skip this message.

As you probably know, we recently made mass rename of tags from
something like PHP-4.1.2-RC1 to php-4.1.2RC1. However, turns out that
git does not delete old tags from local repositories when they are
deleted/changed on remote. What this leads to is that if you ever
fetched old tags, they are with you forever unless you delete them
manually (see below about that). Please see more discussion about the
topic here:

http://stackoverflow.com/q/1841341/214196
http://thread.gmane.org/gmane.comp.version-control.git/168833

So what happened today is that I created a tag for 5.4.1RC1, and pushed
it to the remote repo. Unknown to me, old tags left from before the
rename were still sitting in my repo, and came out of the woods when the
push was done, resulting to massive spam on php-cvs list and major
embarrassment for me. I'd like to apologize for inconvenience caused and
would propose for everybody that has push access to check their tags
(git tag -l) and if there are any old tags, remove them. As far as I
understand the best recipe is to do this:

git tag -l | xargs git tag -d
# This will delete all local tags
git fetch
# This will reimport tags from remote repo

If anybody has better recipe on how to do it, please share. In any case,
if you are ever going to tag PHP repo, please check your tag list and
see if there are no stale ones left.
I think you can also push single tag with "git push tag" but I'm not
sure about the exact syntax. Git gurus are welcome to chime in. Most
people (including me) always use push --tags, but the danger in that is
obvious now so please learn from my fail and be careful :)
-- 
Stanislav Malyshev, Software Architect
SugarCRM: http://www.sugarcrm.com/
(408)454-6900 ext. 227

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to