[llvm-dev] RFC: Adding a staging branch (temporarily) to facilitate upstreaming

James Y Knight via llvm-dev llvm-dev at lists.llvm.org
Wed Jul 1 13:19:10 PDT 2020


The consequences of pushing a new branch name and then deleting it later
should be low. And if we really wanted to exclude it from the default pull
set, it can be placed in, "refs/staging/apple" instead of
"refs/heads/staging/apple". Nothing outside refs/heads/ and refs/tags/ gets
pulled by default. This *should* be the obvious answer. However, we've had
cases in the past that when people have accidentally created a branch or
opened a pull request (which creates a new branch in "refs/pull/NNN"),
which triggered phabricator to start sending a bunch of effectively-spam
emails. I believe that may still be a problem.

Unless someone can confirm that this *won't* happen, it's probably *not* a
good idea to push 30,000 "new" old commits into any branch in the repo.

I'd also concur with the other comments that it really feels quite silly to
do have to do anything technical here at all, versus posting an email to
llvm-dev along the lines of "Apple is contributing the code added in
github.com/apple/llvm-project, commit hash
a1fde6dadf210c937c88509ab775610213e2cfc5, and all prior commits it depends
on, under the Apache2 license with LLVM project exceptions, as listed in
https://github.com/apple/llvm-project/blob/a1fde6dadf210c937c88509ab775610213e2cfc5/LICENSE.txt".
That seems like it'd be sufficient -- and even more explicit as a statement
of intent than creating a branch! (But, of course, IANAL).

Or -- how about both sending such a message *and* creating a phab review
for `git diff origin/master...swift/apple/master` (three dots diff gets the
diff only from the last merge-point). Maybe that covers all the bases
sufficiently?

On Wed, Jul 1, 2020 at 1:19 PM Philip Reames via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

>
> On 6/30/20 2:07 PM, Chris Lattner via llvm-dev wrote:
>
>
>
> On Jun 30, 2020, at 2:02 PM, Duncan Exon Smith <dexonsmith at apple.com>
> wrote:
>
>
>
> On 2020-Jun-30, at 13:28, Chris Lattner via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
> On Jun 29, 2020, at 10:15 PM, Chandler Carruth via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>
> IMO, a pull request isn't as clear given that they haven't been used for
> contributions before. This is not a time to be innovative IMO. A branch as
> a staging location has been used many times over the history of the project
> though and seems nicely unambiguous in that regard.
>
>
> I don’t have a opinion on this either way, but can git/GitHub maintain
> forks within the same organization?  You could have llvm/llvm-project and
> llvm/llvm-project-apple-staging or something like that?
>
>
> I don't think GitHub allows you fork your own repo so I think it would be
> disconnected from a GitHub point of view. That has a few downsides,
> although I'm not sure how important they are.
>
> Regardless, if a separate repo is preferred, then a better name from our
> perspective would be "llvm-project-staging" (dropping the "-apple" suffix).
> We could push a "staging/apple" branch there.
>
>
> Ok, I’m not very concerned either way, it was just a thought.  I’m very
> happy to see this upstreaming work happen, thanks!
>
> -Chris
>
> I have a mild preference for the separate llvm-project-staging approach,
> but am not opposed to an in tree branch either.  The main argument I see
> for the separate repo is that the bar can be lower because the consequences
> for being "wrong" about the code being fully merged quickly are lower.
>
> Or another thought, maybe we should even use the incubator flow here?
> Nothing says an incubator has to be long lived.  If we spun up an
> "incubator-staging-apple" repo, wouldn't that demonstrate the same benefits?
>
> Philip
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200701/832575e7/attachment.html>


More information about the llvm-dev mailing list