[swift-build-dev] [swift-evolution] [Review] SE-0150 Package Manager Support for branches

Martin Waitz tali at admingilde.org
Thu Jan 26 01:06:51 CST 2017


Hello Boris,

> Am 25.01.2017 um 19:10 schrieb Boris Buegling <bbuegling at apple.com>:
>> But instead of hard-coding some version into the manifest, we should allow to specify dependencies without any version requirement.
>> The concrete branch/version specification should always be stored in the `Package.pins` file.
>> This way, we also don't have any problem with conflicting branch specifications.
> 
> While this is true for most packages, some have a development model where they will always depend on a branch and never on a version. In that case, it is more semantically correct to have the branch definition in the manifest, otherwise the package would not be able to build without a pins file. 
> 
> This is especially true for the example from the proposal:
> 
> A -> (B:master, C:master) B -> D:branch1 C -> D:branch2
> 
> Since the pins file of packages B and C would not be considered when building A, you would need to lift the pinning that is inherent to those packages up to the pins file of A.

OK, you are right, branches can be helpful to have in the manifest.
But I’m still confident that we must not put explicit version information into it.
They belongs into the `Package.pins` file.
That is enough to get reproducible builds.

— 
Martin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-build-dev/attachments/20170126/c1c547f1/attachment.html>


More information about the swift-build-dev mailing list