[Toybox] Microsoft github took down the xz repo.

Oliver Webb aquahobbyist at proton.me
Sat Apr 13 23:13:31 PDT 2024


To revive a old thread with new technical info I stumbled upon:

On Saturday, March 30th, 2024 at 15:58, Rob Landley <rob at landley.net> wrote:

> I set up gitea for Jeff on a j-core internal server, and it was fine except it
> used a BUNCH of memory and cpu for very vew users. Running cgi on dreamhost's
> servers is a bother at the best of times (I don't want to worry about exploits),
> and the available memory/CPU there is wind-up toy levels.
>
> My website is a bunch of static pages rsynced into place, some of which use
> xbithack to enable a crude #include syntax, and that's about what the server can
> handle.

Going through the list of "minimal tools" on https://suckless.org/rocks/, I stumbled
upon a git frontend called stagit (https://git.codemadness.org/stagit/file/README.html)
which the suckless project uses as it's git frontend. And from looking at it, works purely
via static pages and is fairly minimal (2000 LOC in pure C with only non-libc dependency being
libgit2. One of it's "cons" is that it's "slow on repo's with 2000+ commits due to diff
generation", And then says that it takes 3s to run on a repo with 1500 commits). Have you considered it?

The main downside of it is that it's MIT Licensed, which means if you wanted to bundle it
in with the main repo there could be be licensing kerfuffles to deal with.

But to have a solution, you must have a problem. The 2 main issues I have with the current git management
are the fact there doesn't seem to be a way to clone the current repo directly from landley.net (Making Microsoft
GitHub the middleman). And the fact I can't browse the source code without github or android code search acting as
the middleman (This is a problem I've actually ran into on networks where github is blocked for some utterly insane
reason, meaning I have to go to android code search to read through the code occasionally).

The first of these seems near impossible to solve with _only_ static webpages, since a git server is not
a static thing. I don't know yet tho.
The second one seems easier though, copying or maybe symlinking stuff from the source directory with "find"
in a pipeline with bash to make a simple, browse-able tree would take probably take a few dozen lines of
at most, It could also probably just be an rsync command if you don't want to worry about listing out directory
contents.

Both of these problems are remediable now, but in a year they might not be (ProtonMail just said "If you
don't sign in for a long enough time we will delete all your data" like Google drive is doing, it's not
hard to imagine Microsoft GitHub doing a similar thing with accounts they locked out by their 2FA crusade)
Rob, Are you interested in future-proofing the codebase from whatever GitHub and AOSP decide to do? This is a situation
where I'd normally create a patch and let Rob decide whether to apply it or not. But since I probably shouldn't
put the source tree inside the commit/ folder, and this operation can be done with a fancy rsync invocation
I'm not sure if writing any code is the correct solution.

Thanks,

-   Oliver Webb <aquahobbyist at proton.me>




More information about the Toybox mailing list