[llvm-dev] New LLVM git repository conversion prototype

David Jones via llvm-dev llvm-dev at lists.llvm.org
Thu Dec 13 12:19:23 PST 2018

On Thu, Dec 13, 2018 at 11:25 AM David Greene <dag at cray.com> wrote:

> David Jones via llvm-dev <llvm-dev at lists.llvm.org> writes:
> > For a development tag, we should probably try to keep it short,
> > simple, and obvious. After all, we're fundamentally talking about a
> > tag used for development, not releases; something short, like
> > "master-v8" would yield concise, obvious aliases like
> > "master-v8-1234-abcdef01". (Tags on release branches are a
> > fundamentally different matter, and could continue looking exactly
> > like they do today.)
> "master" could be confusing for downstream.  For example we have a setup
> where our development happens on "master" and we have a branch called
> "upstream_master" to pull from upstream.  It would be confusing to see a
> tag called "master" on a branch not named "master."
> "v8.0.0-split/dev/branchpoint/whatever" could also be confusing to
> downstream as it could conflict with downstream named tags if their
> products happen to have version number conflicts.  Follwing Duncan's
> suggestion, would llvm.org-8.0.0-split (or suggest some other suffix)
> work?  I know it's longer but it would be unambiguous.
(Just a side note: "split" seems ambiguous to me, in the sense of whether
it's before or after the branch is cut: does it point to the start-point of
the release branch? Or does it point to the commit that bumps the version
number, which is [probably] immediately after? If the former, then `git
describe` would attribute the last commit to the wrong release; if the
latter, it's really not a "split," since it's only an ancestor of one of
the sides. In any case, as long as the name we pick is consistently
reachable from master, and not from the release branch; and release branch
tags continue not to be reachable from master; then I think we'll be fine.)

> "Duncan P. N. Exon Smith via llvm-dev" <llvm-dev at lists.llvm.org> writes:
> > I have a mild preference for "llvm.org-8.0.0" (instead of
> > "llvm-8.0.0"), since llvm.org is unambiguously a point of origin,
> > whereas "llvm" could just refer to the content. E.g., some downstreams
> > might package their product with the name "llvm".
> I have a slight preference for that too, for the same reasons.

I like Duncan's suggestions for release naming, and I could imagine
something like:

tags/llvm.org/v8.X.Y - development
tags/llvm.org/release/v8.0.0-rc1 - release candidate

heads/llvm.org/release_80 or heads/llvm.org/release/v8.0 - release branch
(the former matches existing branch names)

The more I look at it, the more I think the development tag should not
contain a valid, complete semver identifier -- those should be reserved for
tags pointing to release branches. (The whole impetus of adding dev tag is
that the tags on release branches are generally not ancestors of the master
HEAD.) Either v8 or v8.0 would satisfy that, since they are missing
minor/patch levels; something like v8.X.Y seems even clearer to me.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20181213/d5657e66/attachment.html>

More information about the llvm-dev mailing list