This is all resolved. I have a 2.5.0 tag now, and the other tags seem to be 
deleted.
________________________________
From: Steve Lawrence <slawre...@apache.org>
Sent: Tuesday, January 14, 2020 10:55 AM
To: dev@daffodil.apache.org <dev@daffodil.apache.org>
Subject: Re: [DISCUSS] release tag naming scheme

Looks like I forgot to push the 2.5.0 tag. That's one thing I don't like
about tags, it's hard to tell if they've been pushed or not. Try
fetching tags again.

To delete tags from your github fork, run:

  git push origin --delete $(git tag | grep rel/)

Then you'll want to delete your local copies of the tags:

  git tag --delete $(git tag | grep rel/)


On 1/14/20 10:30 AM, Beckerle, Mike wrote:
> This step:
>
>     git fetch asf --tags
>
> didn't work for me. I have no official 2.5.0 release tags in my local sandbox 
> repo. I do have a 2.5.0-rc1 and 2.5.0-rc2 tag, and the other steps removed 
> the old tags.
>
> But I didn't get any new tags for the final 2.5.0.
>
> In my ad-hoc attempts to see what works, I did a 'git fetch origin --tags', 
> origin is my personal daffodil fork repo.
>
> This pulled a bunch of tags, still not the final 2.5.0 tags, but furthermore 
> I now have all the old rel/vX.Y.Z tags again, so I'll have to clean them.
>
> How do I get them off my fork so that they won't reappear?
>
> ...mikeb
> ________________________________
> From: Steve Lawrence <slawre...@apache.org>
> Sent: Monday, January 6, 2020 2:41 PM
> To: dev@daffodil.apache.org <dev@daffodil.apache.org>
> Subject: Re: [DISCUSS] release tag naming scheme
>
> With no objections, I've made the changes.
>
> There are no longer any "rel/" tags on github. Run the following to
> fetch the new tags:
>
>   git fetch <remote> --tags
>
> Where <remote> is your github.com/apache/incubator-daffodil remote:
>
> If everything looks correct, you can delete the old tags on your github
> fork by running:
>
>   git push <remote> --delete $(git tag | grep rel/)
>
> Where <remote> is your github.com/<userid>/incubator-daffodil fork:
>
> Then you can delete your local rel tags by running
>
>   git tag --delete $(git tag | grep rel/)
>
> If anyone notices anything wrong, like a new tag doesn't match an old
> tag, do not delete your tags and we can always recover them.
>
> - Steve
>
>
> On 1/3/20 2:25 PM, Kilo, Olabusayo wrote:
>> +1
>>
>> I think the initial work of getting it be where it needs to be is worth it. 
>> And it doesn't require much of the users. I wonder how will we let customers 
>> know how to 'refresh' their tags?
>>
>> On 1/3/20 11:59 AM, Steve Lawrence wrote:
>>
>> Since we're nearing another release, I thought it might be worth brining
>> up something that's been a minor annoyance to me, and see what others think.
>>
>> Our currently release workflow is that we add tags for release
>> candidates of the form "vX.Y.Z-rcN" and then when we make a final
>> release, that tag becomes "rel/vX.Y.Z". So final releases get a "rel/"
>> prefix.
>>
>> I'm not really sure where this came from, but it seems pretty
>> non-standard, and makes it somewhat difficult to determine what the
>> latest release is by looking at tags. For example, the current "git tag"
>> output (truncated a bit) is this:
>>
>> rel/v0.1.0
>> rel/v0.2.0
>> rel/v0.3.0
>> ...
>> rel/v2.2.0
>> rel/v2.3.0
>> rel/v2.4.0
>> v0.10.1-rc1
>> v0.11.0-rc1
>> v0.12.0-rc1
>> ...
>> v2.4.0-rc1
>> v2.5.0-rc1
>> v2.5.0-rc2
>>
>> Notice that the latest release is 2.4.0, which is somewhere in the
>> middle of this fairly large list. git tag doesn't now how to sort this
>> properly, so you need to do something like "git tag | grep rel" to find
>> it. This isn't standard and so most people probably won't recognize to
>> do this grep.
>>
>> But if we drop the "rel/" prefix for releases, git tag will sort this as
>> you might expect, and you get something like this:
>>
>> v0.1.0
>> ...
>> v1.0.0-rc1
>> v1.0.0-rc2
>> v1.0.0
>> v1.1.0-rc1
>> v1.1.0-rc2
>> v1.1.0-rc3
>> v1.1.0
>> ...
>> v2.2.0-rc1
>> v2.2.0-rc2
>> v2.2.0
>> v2.3.0-rc1
>> v2.3.0
>> v2.4.0-rc1
>> v2.4.0
>> v2.5.0-rc1
>> v2.5.0-rc2
>>
>> Notice that the rc's always come before the final tag, making it much
>> easier to see what the most recent final tag is, and if there are any
>> newer development tags just by looking at the last few rows of the
>> output. For example, we can see the latest final release is 2.4.0 and
>> there have been two 2.5.0 release candidates. And 2.5.0 hasn't bee
>> release yet.
>>
>> So, I suggest that we rename all the release tags to remove the "rel/"
>> prefix and we create all future tags without this prefix. Not only does
>> this make the 'git tag' output easier, but it also follows standard tag
>> naming conventions.
>>
>> One drawback here is that git doesn't really have a concept of tag
>> renames. Instead, we need to delete the old tags and add the new. Tag
>> deletion is usually to be avoided, and existing clones will still have
>> the old tags unless they explicitly remove them, but there's no harm in
>> having the old tags locally.
>>
>> Additionally, because tags are not automatically deleted on a fetch, it
>> is pretty straightforward to verify that the new tags match the old
>> tags. Once the tags are pushed, we just need to do a 'git fetch origin
>> --tags' to fetch the new tags. Then we can inspect that every new
>> release tag matches an old release tag. Then the user can delete the old
>> tags, e.g. "git tag --delete `git tag | grep 'rel/'`".
>>
>> Thoughts?
>>
>>
>> --
>> Best Regards
>> Lola K.
>>
>> Lola K.
>>
>
>

Reply via email to