On Oct 21, 2011, at 21:26 , Adam Kocoloski wrote:

> Hmmm ... that's all well and good, but I envision more confusion ensuing in 
> the case where we have multiple possible values for '1.1.1' floating around 
> the internet than I do in the case where we have '1.1.1-rc1', '1.1.1-rc2', 
> and eventually one single immutable '1.1.1'.  Best,

I really like the idea of immutable tags, now that we can have them and the 
final move from x.y.z-rcX to x.y.z for the passed release including keeping 
tags for votes that were turned down.

I'm also totally happy to call it x.y.z-vote1, -vote2 etc. to avoid confusion 
with RC releases that are releases as defined by the Apache release procedure 
that I know other projects do.

Cheers
Jan
-- 




> 
> Adam
> 
> On Oct 21, 2011, at 2:29 PM, Robert Newson wrote:
> 
>> From the other thread, reposted here on Noah's suggestion;
>> 
>> My take on tagging was to follow what we did with SVN with only minor
>> changes to account for git. So I shall describe it.
>> 
>> First, I create a signed tag for the release, with its intended final
>> release value. In this case, exactly the string '1.1.1'. Then I build
>> artifacts from the tag (which could be from a 'git archive 1.1.1' or
>> 'git checkout 1.1.1 && git clean -xdfq'). When I'm happy with the
>> output of that phase (i.e, I've done the diff -r, make check, Futon,
>> etc from the generated tar.gz) I upload it to people.apache.org and
>> push the tag (so that others can verify that it matches the release
>> artifact).
>> 
>> In the event of a round veto, I delete the 1.1.1 tag. In the next
>> round, I create and push a new signed 1.1.1 tag as part of the same
>> procedure.
>> 
>> 'git pull --tags' correctly updates anyone's existing (but now wrong)
>> 1.1.1 tag (the man page for git-tag goes on at some length that it
>> doesn't do that and how evil such a thing would be, but it does it
>> anyway).
>> 
>> The arguments in the other thread about immutable tags are laudable
>> but irrelevant. The tags in our source control system are not the
>> source of truth for our releases. The presence of the release on the
>> Apache mirrors is. The entire discussion around -rcX suffixes is to
>> avoid any confusion between the failed artifacts and the release
>> artifact. While a genuine concern, it's not worth all this soul
>> searching in my opinion. The real 1.1.1 comes from the mirrors. When
>> it's available on our mirrors then it also means that the 1.1.1 tag in
>> source control points to it (and always will).
>> 
>> B.
>> 
>> On 21 October 2011 19:25, Robert Newson <robert.new...@gmail.com> wrote:
>>> Dustin,
>>> 
>>> 
>>> /tmp/bar $ git --version
>>> git version 1.7.6.1
>>> 
>>> /tmp/bar $ git pull --tags
>>> remote: Counting objects: 4, done.
>>> remote: Compressing objects: 100% (2/2), done.
>>> remote: Total 3 (delta 0), reused 0 (delta 0)
>>> Unpacking objects: 100% (3/3), done.
>>> From /tmp/foo
>>> - [tag update]      1.0        -> 1.0
>>> Fetching tags only, you probably meant:
>>> git fetch --tags
>>> 
>>> The 1.0 tag was correctly updated.
>>> 
>>> B.
>>> 
>>> On 21 October 2011 19:11, Noah Slater <nsla...@tumbolia.org> wrote:
>>>> On Fri, Oct 21, 2011 at 7:04 PM, Dustin Sallings <dus...@spy.net> wrote:
>>>> 
>>>> IMO, simplicity and conventions win here.  Tags should be treated as
>>>>> immutable pointers to commits that had some meaning and should be named 
>>>>> and
>>>>> labeled meaningfully as well.  Branches are pointers to works in progress.
>>>>> When work is "finished", they can be tagged and deleted.  If you do this,
>>>>> all of the defaults work and you don't have to invent and document as 
>>>>> much.
>>>>> 
>>>> 
>>>> The only way I can see this working then is to "move" the tag once a vote
>>>> passes. Whether this involves duplicating the tag, or creating a new one
>>>> that points to the same thing, I don't know. Other people with more Git-fu
>>>> can step in here. But we need a way of blessing tags that works with
>>>> downstream repositories, and that separates them out from defunct tags that
>>>> never made the cut.
>>>> 
>>> 
> 

Reply via email to