]> Sergey Matveev's repositories - public-inbox.git/commit
gcf2: libgit2-based git cat-file alternative
authorEric Wong <e@yhbt.net>
Sat, 19 Sep 2020 09:37:08 +0000 (09:37 +0000)
committerEric Wong <e@80x24.org>
Sat, 19 Sep 2020 21:39:42 +0000 (21:39 +0000)
commite2f85d6bda87a8c6b25cc340b569ba0a20c2a1eb
tree9ba47b5762b7a93a6e94367cbccdb033ed637256
parent05fe38843c2e13cd0c368f8dd7501e4e57c3a829
gcf2: libgit2-based git cat-file alternative

Having tens of thousands of inboxes and associated git processes
won't work well, so we'll use libgit2 to access the object DB
directly.  We only care about OID lookups and won't need to rely
on per-repo revision names or paths.

The Git::Raw XS package won't be used since its manpages don't
promise a stable API.  Since we already use Inline::C and have
experience with I::C when it comes to compatibility, this only
introduces libgit2 itself as a source of new incompatibilities.

This also provides an excuse for me to writev(2) to reduce
syscalls, but liburing is on the horizon for next year.
MANIFEST
lib/PublicInbox/Gcf2.pm [new file with mode: 0644]
lib/PublicInbox/gcf2_libgit2.h [new file with mode: 0644]
t/gcf2.t [new file with mode: 0644]