| Hi, I am the Game of Trees project founder and main author of the code. If there is anyone here who would be interested in seeing this project
advance faster and has funding available, please talk to me.
I am a freelancer with an EU VAT ID. Progress since the beginning in 2017 has been steady but slower than I would like.
I have occasionally applied to various open source funds (prototype fund,
NGI zero, and the like) but was never lucky enough to get funds allocated
(which is fair: many other great projects are being funded instead, so I am
not bitter about this). And I don't want to bother the OpenBSD Foundation since they are already partly
funding unrelated work I am doing in the OpenBSD wifi drivers and 802.11 stack.
I also believe that the ability to run this alternative Git client on any nix,
and the alternative Git server on OpenBSD (though there are plans to port the
server to any nix as well) can be useful for many communities and organizations beyond OpenBSD. Some things I would like to work on in particular are: - SHA256 object ID support, enabled by default, with repositories running
either SHA256 or SHA1, without the ability to mix different hashes in the same
repository. The server could offer a read-only repositories converted
to SHA1 for legacy clients which do not support SHA256. Git itself does
already support SHA256 so this won't break compatibility with regular Git clients. Though it might not be possible (yet?) to push SHA256 repositories to many hosting sites but that is not Git's fault. - Server-side "trivial-rebasing" of changes, such that clients could push
changes to servers without having to fetch first, provided pushed changes
can be merged tree-wise, ie. without any file content clashes or unclean
additions/deletions of files. - Performance improvements; Got currently spanws one privsep child process per pack
file on disk, cycling children in and out as needed when there are too many
pack files. This can cause a lot of forking during random access across the
entire history, which occurs when computing deltas while packing.
Small pack files should be stored in memory instead, and each child process
should be able to handle multiple packs to reduce the amount of forking. You can skim the man pages to see all the work that has already
been done: https://gameoftrees.org/manual.html
And of course you can read the source code; see the web site for details. |