Skip to content

Pkg.resolve() not picking up changes in nested [sources] #4351

@mortenpi

Description

@mortenpi

I have an MWE here, in the mp/resolve branch: https://github.com/mortenpi/pkg-4197-mwe/tree/mp/resolve

It's in the README, but to recap here: PackageA depends on two [sources] deps:

  • MarkdownAST directly in PackageA/Project.toml
  • Example.jl via PackageB

The PackageA/Manifest.toml was created when those deps were pointing to main and master respectively. Now we have changed the revs of both to mp/try-workspace and custom_branch respectively.

If you now resolve PackageA, it only picks up the change in PackageA/Project.toml (and partially at that -- not updating git-tree-sha1?), but not in PackageB/Project.toml. The expectation is that resolve should figure out that something the the [sources] tree changed, and update the current manifest appropriately, unless that's out of scope for resolve?

The practical impact is that if you have a monorepo with a bunch of internal package deps between them, there's no good way to just bring things into consistency within [sources].

Some potentially related issues: #4157, #4086.

cc @pfitzseb FYI

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Priority Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions