Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pkg.update("Foo") to update a single package only? #13487

Closed
stevengj opened this issue Oct 7, 2015 · 7 comments · Fixed by #17132
Closed

Pkg.update("Foo") to update a single package only? #13487

stevengj opened this issue Oct 7, 2015 · 7 comments · Fixed by #17132
Labels
packages Package management and loading

Comments

@stevengj
Copy link
Member

stevengj commented Oct 7, 2015

It would be very useful to have a Pkg.update("Foo") that only updates a single package Foo and its dependencies. It's very common to want to get the latest tagged version of a specific package (not master) but not want to update everything on your system for fear of breaking something (especially user code).

Even better, only update its dependencies if a specific version is REQUIREd, and then only update to the minimum version required.

(Nor should this result in pinned packages; I still want Pkg.update() to update everything.)

In an ideal world, no one would ever tag a buggy version of a package, and no one would ever update APIs in ways that break user code, but we don't live in that world And yes, there is Pkg.pin, but that is opt-out of updates one package at a time, but this is painful if you want to pin lots of packages—what I want is opt-in updating, and I still want to be able to do Pkg.update() when I'm ready to update everything (without going back and freeing all the pinned packages).

@stevengj stevengj added the packages Package management and loading label Oct 7, 2015
@stevengj
Copy link
Member Author

stevengj commented Oct 7, 2015

(It's also a lot faster to update only a single package. It's frustrating to wait for 50 packages to update if all I wanted was a newer version of IJulia, for example.)

@lobingera
Copy link

+1

(btw: if you had asked me earlier, i would have been 99% sure, that this already exists...)

@SimonDanisch
Copy link
Contributor

💯
I only want to update a single package most of the time and every time I'm surprised that it doesn't exist.

@simonster
Copy link
Member

While this sounds like a good idea, I think either Pkg.update("X") should update both X and its dependencies (at least by default; we could have a flag not to do that) or we should have a CI setup to ensure that people actually set appropriate minimum versions for package dependencies before enabling this.

@IainNZ
Copy link
Member

IainNZ commented Oct 8, 2015

+1 to @simonster's sentiment - I think this needs to also recursively update dependencies, given how careful people are with their REQUIRE files.

@SimonDanisch
Copy link
Contributor

Oh yeah definitely! Anything else wouldn't make much sense.

@nalimilan
Copy link
Member

See #17132.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
packages Package management and loading
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants