how does one switch to/checkout and switch back/free from stable to the master with the new Pkg?
Use pkg> add
and pkg> free
(see their docstrings). Example:
(v1) pkg> add Example
Resolving package versions...
Updating `~/.julia/environments/v1.1/Project.toml`
[7876af07] + Example v0.5.1
(v1) pkg> add Example#master
Updating git-repo `https://github.com/JuliaLang/Example.jl.git`
Resolving package versions...
Updating `~/.julia/environments/v1.1/Project.toml`
[7876af07] ↑ Example v0.5.1 ⇒ v0.5.1+ #master (https://github.com/JuliaLang/Example.jl.git)
(v1) pkg> free Example
Resolving package versions...
Updating `~/.julia/environments/v1.1/Project.toml`
[7876af07] ↓ Example v0.5.1+ #master (https://github.com/JuliaLang/Example.jl.git) ⇒ v0.5.1
interesting. ‘#’ is usually a comment. thanks. Is there a Pkg.add()
version, too?
Pkg
REPL mode does not use standard Julia syntax (that’s what the Pkg
API is for).
As for versions, use e.g. pkg> add Example@0.2.0
or equivalently pkg> add Example@v0.2.0
.
In case you forget the syntax, run pkg> ?add
Also worth noting that unlike the old checkout
, the above solutions don’t give you the full git repo and you shouldn’t be editing anything inside those packages. If it’s your intention to do any modifications, do dev MyPackage
instead.
but is there also a Pkg.add()
version thereof?
What does free
do? For example, right now I added add VegaLite#master
since the master branch is updated for 0.7/1.0. Eventually this will get tagged and I don’t need to track the master branch. So when that time comes i’ll have to manually run free VegaLite
or will it be automatic? And will I need to add
again?
AFAIK you need to free
, otherwise it will keep tracking #master
. But you won’t need to add
again.
I would encourage you all to read the manual: Pkg · The Julia Language . Every question that have been asked here have their answers in there.
Pkg.add(PackageSpec(name="Example", rev="master"))
From the docs:
free: undoes a pin, develop, or stops tracking a repo.
Just in case anyone else is struggling with the same problem and ends up here:
The command to check out a fork of a package (e.g. pull request) seems to be
(v1) pkg> develop [GitHub link]