Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: github.com/NetBSD/src 5 days old?



On Sun, May 17, 2020 at 8:08 PM Constantine A. Murenin <cnst%netbsd.org@localhost> wrote:
>
> On Thu, 14 May 2020 at 09:23, Hauke Fath <hauke%espresso.rhein-neckar.de@localhost> wrote:
>>
>> [re-directing to tech-repository, which was created precisely to keep
>> debates like this one off the other lists...]
>>
>> On Thu, 14 May 2020 14:47:02 +0200, Jens Rehsack wrote:
>> > I doubt that you'll find a modern solution running fine on any 4M computer.
>> > Network filesystems, cross compilers etc. where invented to support machines
>> > which can't provide all required resources for a job on their own.
>>
>> Unfortunately, the VCS equivalent to your list would be a client
>> connecting to a beefy local DVCS instance, which to the best of my
>> knowledge has not been invented, yet.
>
>
> Actually, it has already been invented.  GitHub has links to download the checkout as a zip archive from any branch.
>
> E.g., https://github.com/NetBSD/src/archive/netbsd-9.zip has the checkout from `netbsd-9`.
>
> I've just tried how it works, and am getting 5MB/s on my 12.6MB/s connection through the WiFi in the office, so, it seems to be working good enough.  I believe they archive it on the go, as a stream, because there's no file size upfront when you first download it; I've tried downloading it a second time right after completing the first one, and I did get the size then (Length: 548765520 (523M) [application/zip]), so, they are smart enough to cache it at least for some time.
>
> Of course, the biggest issue is that there's no way to ignore any specific parts of the tree, so, you're stuck with downloading a 0.5GB archive of a 2.4GB checkout.  I'm still of the opinion that it might be a good idea to split the `src` repository into several sub-repositories like syssrc, gnusrc and src, as per http://mail-index.netbsd.org/tech-repository/2020/02/21/msg000698.html.  Or maybe at least provide such a setup as an option, especially to just get the kernel?
>
> Cheers,
> Constantine.

This is a built-in git feature:
https://git-scm.com/book/en/v2/Git-Tools-Bundling  (hg archive is the
same, I think)

If you want small and fast you can use shallow clone and, although you
get the entire tree's bundle, it is small and fast.
You can then use --sparse to build a "sparse" (kernel only or
whatever) limited checkout (aka working dir) -- (new git feature--
https://git-scm.com/docs/git-sparse-checkout  /
https://git-scm.com/docs/git-read-tree#_sparse_checkout  ) / I don't
know about mercurial's version of this


Home | Main Index | Thread Index | Old Index