Keno's suggestion of using a custom METADATA is working well. The users
only have to invoke Pkg.init("our local METADATA repo") once when first
setting up their environment. Works well on Windows and Linux. One little
issue: I thought it might be best to create my own local branch of
METADATA and then merge changes to `metadata-v2` at origin into it.
`Pkg.init` supports using this new branch via its second argument.
However, `Pkg.update()` seems to always reset the working branch to
`metadata-v2`, so I have been simply adding local commits to that branch,
which still allows me to pull from origin. Not sure if this is something
worth flagging as an issue, or if it is intentional.
Also, created PR #8365 <https://github.com/JuliaLang/julia/pull/8365>,
which attempts to improve the `Pkg.init` documentation.
Thanks,
--Peter
On Friday, September 12, 2014 6:39:38 AM UTC-7, Peter Simon wrote:
>
> I will have a chance to play with this over the weekend, and will be happy
> to share any positive results. I will also see if I can improve the
> documentation.
>
> --Peter
>
> On Friday, September 12, 2014 3:27:13 AM UTC-7, Ivar Nesje wrote:
>>
>> I would not say that the documentation is wrong. It is just confusing and
>> fails to mention the optional arguments. As we have standardized on
>> ~/.julia, we should probably mention where we will end up creating files.
>>
>> If you think you got a grip of how the function works, you can suggest
>> improvements to the docs here
>> <https://github.com/JuliaLang/julia/edit/master/doc/stdlib/pkg.rst>. If
>> not you should open an issue on github about the confusion so that we can
>> add an appropriate milestone.
>>
>> Ivar
>>
>> kl. 23:07:40 UTC+2 torsdag 11. september 2014 skrev Peter Simon følgende:
>>>
>>> Ah! I had a look at the source code for `Pkg.init` and see that its
>>> default first argument is DEFAULT_META, which is initialized to "git://
>>> github.com/JuliaLang/METADATA.jl". So `Pkg.init` is used to point the
>>> package manager to the global METAFILE package directory. This is
>>> definitely not what I took away from the documentation, which reads:
>>>
>>>
>>> help?> Pkg.init
>>> Base.Pkg.init()
>>>
>>> Initialize "Pkg.dir()" as a package directory. This will be done
>>> automatically when the "JULIA_PKGDIR" is not set and
>>> "Pkg.dir()" uses its default value.
>>>
>>>
>>>
>>> This is the same as the online docs. Since the documentation talks
>>> about `Pkg.dir()` I thought it was for establishing the local package
>>> repository location. Looks like the documentation wrong/out of date?
>>>
>>> Thanks,
>>> --Peter
>>>
>>>