[llvm-dev] New LLVM git repository conversion prototype (original) (raw)
Justin Bogner via llvm-dev llvm-dev at lists.llvm.org
Wed Dec 12 23:06:19 PST 2018
- Previous message: [llvm-dev] New LLVM git repository conversion prototype
- Next message: [llvm-dev] New LLVM git repository conversion prototype
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
James Y Knight <jyknight at google.com> writes:
On Fri, Nov 16, 2018 at 7:40 PM Jeremy Lakeman <Jeremy.Lakeman at gmail.com> wrote:
Semantic versioning would recommend "v8.0.0-dev", "v8.0.0-rc1" etc. The hyphen indicating that this is a pre-release version coming before "v8.0.0" Here's my proposal: - Release branches will be named: release/3.5.x (for old version numbering scheme), release/7.x (for new). - The tags for release branches will be named v8.0.0 (for final), and v8.0.0-rc1 for release candidates. - Tags on the master branch (which will be created at commits modifying the version file after branch creation, ala r338537) will be named v8.0.0-dev. On Fri, Nov 16, 2018 at 10:10 PM Justin Bogner <mail at justinbogner.com> wrote: As a bit of a side note, v8.0.0 is probably too brief - I expect v* could easily match some arbitrary tag that starts with the letter v too easily. I don't have strong opinions about the particular name, but something like llvm-8.0.0 or llvm.org-v8.0.0 would be better.
I don't feel terribly strongly about whether to use "llvm-8.0.0" or "v8.0.0". The "v8.0.0" style seems to be very widely used, so that'd still be my inclination, barring a good reason why we shouldn't. The other scheme I've seen commonly is actually just the raw version, e.g. "8.0.0" without any prefix at all.
There are two reasons I can think of to use a prefix like llvm or llvm.org here:
Tools that can filter based on globs of tags will be more reliable - globs like llvm-* or llvm-dev are pretty unlikely to hit arbitrary other tags, whereas v is less clear and I don't even know how you'd glob for a pure number.
There are a lot of downstream projects based on llvm, and they're all likely to adopt the monorepo and add their own stuff to it. Namespacing the official tags gives them an obvious model for how to do their own tags and makes it easy to tell what a tag means at a glance.
That said, it's easy enough for me to re-tag all of the v* tags in with llvm.org-* in my downstream, so I think this boils down to aesthetics.
I'll note that there is at least one minor advantage to using one of "v8.0.0" or "8.0.0". Github can make download tarballs/zipfiles from release tags, and when doing so, will name the file "$repository-$name.zip" (if you're downloading a tag or branch), or "$repository-$commithash.zip" otherwise. For tag names, it also strips "v" prefix in front of a version number, if you had one. So, with either of the usual schemes, we'd get an automatically-generated filename of "llvm-8.0.0.zip". Instead of, say, "llvm-llvm-8.0.0.zip" if we were to go with a tag named "llvm-8.0.0". That said -- the LLVM project probably isn't going to use those for our official release distributions, so I think that advantage doesn't really matter.
- Previous message: [llvm-dev] New LLVM git repository conversion prototype
- Next message: [llvm-dev] New LLVM git repository conversion prototype
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]