[SR-4385] Enable SPM to describe which packages are edited
#5057 opened on Mar 28, 2017
Description
| Previous ID | SR-4385 |
| Radar | None |
| Original Reporter | djones6 (JIRA User) |
| Type | New Feature |
| Votes | 0 |
| Component/s | Package Manager |
| Labels | New Feature, StarterBug |
| Assignee | None |
| Priority | Medium |
md5: cd414a7c57207ae4a22460897a82f609
Issue Description:
As of Swift 3.1, if I put a package into editable mode, the source for that package ends up in Packages/ and so it is easy to see which packages are currently considered 'edited'.
However, this isn't so easy when combined with the --build-path option. For example:
swift package --build-path=build1 fetch
swift package --build-path=build1 edit <package> --revision master
swift package --build-path=build2 fetch
...results in build1 using the source in Packages/<package> but build2 does not.
The existing command show-dependencies gives clues as to which packages are being edited - in the example above, a package would be shown as <package>.git@unspecified in build1 but a tagged version in build 2.
It would be useful to have a way to definitively list which sources are being used to build a given build directory.
This is particularly the case as of SE-0149 because a package could be linked to source elsewhere via --path. For convenience, a symlink is placed in Packages/ but if multiple builds used a different path for the same dependency, the link would only reflect the state of one of those builds.