[swift-lldb-dev] [swift-dev] Changes to LLDB Branch Management

Chris Bieneman beanz at apple.com
Thu Feb 9 16:02:38 CST 2017


> On Feb 9, 2017, at 1:59 PM, Jordan Rose <jordan_rose at apple.com> wrote:
> 
>> 
>> On Feb 9, 2017, at 13:43, Chris Bieneman <beanz at apple.com <mailto:beanz at apple.com>> wrote:
>> 
>> 
>>> On Feb 9, 2017, at 12:09 PM, Jordan Rose via swift-dev <swift-dev at swift.org <mailto:swift-dev at swift.org>> wrote:
>>> 
>>> Hi, Chris. I’m a bit confused by these changes. Swift’s master-next isn’t paired with upstream-with-swift; it’s paired with stable-next, which is resync’d to upstream-with-swift on a fairly regular cadence. Have you discussed this with the “merge czars” on the Swift side, who maintain master-next and stable-next?
>> 
>> This has been discussed with the “merge czars”, and we may end up creating a stable-next branch, but Bob Wilson suggested that they were considering changes to the merge process that would eliminate the need for that branch.
>> 
>>> 
>>> “upstream-with-trunk” is redundant; the “upstream” referred to in “upstream-with-swift” is LLVM trunk. “upstream-plus-swift-support” might have been a better name for the LLVM branch.
>> 
>> I mis-wrote that. It is “upstream-with-swift” not trunk. The LLDB “upstream” branch will be going away because it is unnecessary to maintain a branch that matches LLVM.org <http://llvm.org/>.
> 
> 
> Thanks for the clarification! 
> 
>> 
>>> 
>>> What happens on the LLDB “stable" branch? No development happens on LLVM or Clang’s “stable” branch; they’re essentially just aliases for the latest release branch. Does the LLDB “stable” branch build against Swift master or Swift’s latest release branch?
>> 
>> LLDB’s stable branch will be maintained in exactly the same way LLVM & Clang’s stable branches are. So it is currently identical to the swift-4.0-branch.
> 
> I’m concerned because this means LLDB “stable" builds against Swift master, while the release branches all build together. It’s frequent for changes to go into Swift master that are not immediately cherry-picked to the latest release branch.

There is no reason one cannot land a corresponding change to the LLDB/stable branch if needed. This has been done in the past for LLVM & Clang’s stable branches too.

> 
> 
>> 
>>> 
>>> When I change something on Swift master that affects LLDB, where do I send a pull request going forward? It would be very painful for Swift developers to have a master-next/stable-next build set up just to submit changes to LLDB; today, most Swift developers don’t even need to think about master-next unless something breaks.
>> 
>> Patches to LLDB for swift-related functionality should go into the most current release branch, in the same way we handle LLVM & Clang changes.
> 
> Sorry, I don’t mean “patches for LLDB that add or change Swift functionality”. I mean “a Swift API changed, here’s a patch so that LLDB can continue building”. Admittedly we are not always good about this, but if the place to submit LLDB patches isn’t the standard build configuration for Swift, I think we’ll be much less likely to submit any at all. We get away with this for Clang and LLVM because (a) they do not have any pieces that depend on Swift, and (b) very few people make Swift-related changes in Clang and LLVM, so it’s okay if the process is a little awkward.

We will certainly take pull requests in this situation to the stable branch. While generally speaking the goal is to keep stable as close to the release branch as possible, if required it can deviate.

-Chris

> 
> Jordan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-lldb-dev/attachments/20170209/e55d62fd/attachment.html>


More information about the swift-lldb-dev mailing list