aboutsummaryrefslogtreecommitdiff
path: root/doc/gistatic.eo.1.in (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-04-14rm -rf aux/EuAndreh27-1473/+0
2021-09-10TODOs.md: Add #task-1554614f-2e33-616d-d021-70828dbf0381EuAndreh1-0/+8
2021-09-08src/gistatic.in: Fix HTML indentation (probably a typo while editing)EuAndreh1-1/+6
2021-09-08src/gistatic.in: Finish refs page with signatures, start commit pagesEuAndreh1-20/+54
- actually implement HTML escaping; - include cached_run for (hopefully) reusing across HTML generating functions; - include the repository name on the $CACHE_DIR; - use the existence of a .asc file to decide on which HTML to output on the refs page; - implement all FIXMEs but the WIP one on the commit HTML generation.
2021-09-08src/gistatic.in: Initial sh versionEuAndreh3-2/+756
I got a bit frustrated that libgit2 didn't offer an API or "git archive" commands. I started implementing generating tarballs from scratch in src/tar.c and I'm quite liking it: the specification is very small, and the code can be very simple, since all I'm doing is writing fresh tarballs, and not reading or updating them. However I felt a bit locked-in to libgit2 itself, and what a detour from my original goal that is, and the question "what should libgit2 provide" came up to my mind. This made me realize that libgit2 is playing catch-up with Git itself, for as long as Git doesn't explicit has an explicit API, a standard, a public version of its internal libgit.a, or something like that. In fact, I'm locked in to Git, even. So even though a C version would probably be much faster, it wouldn't really have less dependencies, and that's what I'm actually optimising for: having the software be as portable as possible. On that front, C is unbeatable with sh as a close second. But the extreme portability of C aren't being fully exploited here: libgit2 does depend on non-POSIX things like CMake (and quick grep even shows references to -D_GNU_SOURCE!!), and Git's Makefile itself isn't POSIX at all. The point is: by depending on either Git or libgit2, I'm already loosing many selling points of writing the software in C, and sh becomes much more attractive. Had existed a common DVCS interface that could make me decouple gistatic from Git somehow I would insist a bit more in C, but now I'm switching to sh. The fact that I was able to get further with sh in one sitting than I did with C shows that a) I'm a bit less fluent in C than I would like (at least for now ^^) and b) that it is actually much simpler to do. I am quite satisfied with the quality of C code that I got so far. The error handling and propagation is pretty robust, and the implementation is very disciplined. I did most of the development with Valgrind, and other sanitizers would help even further, with some fuzzers on top.
2021-09-08TODOs.md: Add #question-ab994373-9c09-c4f9-07cf-962f64443231EuAndreh1-0/+3