Update one, and only one package

I’ve got some Julia application that was released, neatly instantiable from its MANIFEST file. Say it has versions v1.0.0, v1.1.0 and v2.0.0. There was a bug in 1.1.0, that was released 5 months ago. It was some issue with MyPrivatePackage@v4.0.0 which I’ve now fixed. I’d like to produce a v1.1.1 for my app. Unfortunately

(MyApp) pkg> add MyPrivatePackage@v4.0.1      # the fixed version

will update every dependency of MyPrivatePackage to its latest version. Is there a non-recursive add? We’ve been modifying MANIFEST, but it’s very painful and error-prone to find the tree SHAs

Julia 1.4 should at first try to add the package without doing any modifications to other packages and only if that fails try to upgrade stuff. Please try out 1.4 RC1 and see how it works.

Something like up --fixed Foo@4.9.1 might work on 1.3.

3 Likes

FWIW on 1.4 it doesn’t seem to work, with --fixed or without. Our upped package doesn’t have any compatibility bounds, and its Project.toml hasn’t changed, so I don’t see why it would need to update ~30 other packages when I up MyPackage. Also no other package (besides the environment I’m updating) depends on it.

Did I miss anything?

I think up Package acts pretty weird now, yes. I don’t even know the exact semantics it has. You can open an issue about it with how you want it to work.

2 Likes