I usually do this directly in git, and not via Pkg commands. I go into the 
package directory, and add my fork as an additonal remote. So..

cd /home/chris/v0.5/Sundials
git remote add  chris https://github.com/ChrisRackauckas/Sundials.jl.git 
<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FChrisRackauckas%2FSundials.jl.git&sa=D&sntz=1&usg=AFQjCNFQc3flEftrLIpqZWy6ZUJSp4A54Q>
git checkout -b cool-feature
julia #Develop cool feature, test from Julia
git push chris cool-feature

I'll then create a pull request from Github's ui. 

On Sunday, 2 October 2016 18:01:28 UTC+1, Chris Rackauckas wrote:
>
> Does anyone have a good way to change repositories? A common example for 
> me is, Sundials is in JuliaDiffEq, so I fork it to my Github account for an 
> extended PR, but to work on it I need to remove my current Sundials install 
> and clone from my own repository. However, METADATA does not like this at 
> all:
>
> julia> Pkg.rm("Sundials") # Remove the JuliaDiffEq/Sundials version
> WARNING: unknown DataFrames commit 84523937, metadata may be ahead of 
> package cache
> INFO: No packages to install, update or remove
> INFO: Package database updated
>
> julia> Pkg.clone("https://github.com/ChrisRackauckas/Sundials.jl.git 
> <https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FChrisRackauckas%2FSundials.jl.git&sa=D&sntz=1&usg=AFQjCNFQc3flEftrLIpqZWy6ZUJSp4A54Q>")
>  
> # Install from my Github
> INFO: Cloning Sundials from 
> https://github.com/ChrisRackauckas/Sundials.jl.git
> ERROR: Sundials already exists
>  in clone(::String, ::SubString{String}) at .\pkg\entry.jl:193
>  in clone(::String) at .\pkg\entry.jl:221
>  in 
> (::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#clone,Tuple{String}})() 
> at .\pkg\dir.jl:31
>  in 
> cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#clone,Tuple{String}}, 
> ::String) at .\file.jl:58
>  in #cd#1(::Array{Any,1}, ::Function, ::Function, ::String, 
> ::Vararg{Any,N}) at .\pkg\dir.jl:31
>  in clone(::String) at .\pkg\pkg.jl:151
>
> In the past I would just delete METADATA and let it re-create itself, and 
> that will fix it, but then you have to re-install packages which can be a 
> mess. Since this is becoming much more common for me, I need a better way 
> to handle this. Does anyone have a better workflow?
>

Reply via email to