aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Makefile: Add switch for picking number of parallel fuzz workersHEADmainEuAndreh2025-05-271-1/+2
|
* meta.capim: Add :dependencies keyEuAndreh2025-05-231-0/+7
|
* Revamp setup of i18n, now with gotext(0)EuAndreh2025-05-1519-192/+734
|
* Finish branches.html and setup i18n of manpages and HTML stringsEuAndreh2025-05-1115-30/+1481
|
* src/gistatic.go: Add missing trailing newline to usage() outputEuAndreh2025-05-061-1/+1
|
* src/gistatic.go: Use ExitIf() from gobangEuAndreh2025-05-051-3/+1
|
* src/gistatic.go: Tweak indentation 💅EuAndreh2025-05-051-5/+3
|
* git mv meta.json meta.capimEuAndreh2025-05-042-3/+3
|
* Make: Use $< over $?EuAndreh2025-05-041-1/+1
|
* Switch from POSIX sh to GoEuAndreh2025-05-0259-3030/+294
|
* WIP: Commit sh code as-isEuAndreh2025-05-023-1261/+620
|
* Makefile: Clean-up old stuffEuAndreh2025-05-021-100/+59
|
* Add mkdeps.sh and deps.mkEuAndreh2025-05-022-0/+10
|
* mv src/gitstatic{,.in}EuAndreh2025-05-021-0/+0
|
* git mv description meta.jsonEuAndreh2025-05-022-1/+3
|
* rm CHANGELOG.md fEuAndreh2025-05-022-104/+0
|
* rm -rf doc/EuAndreh2025-05-025-54/+0
|
* rm -rf tests/resources/repositories/repo-{1,2}/.gitdir/info/EuAndreh2025-05-022-12/+0
|
* rm tests/resources/repositories/repo-{1,2}/.gitdir/hooks/*.sampleEuAndreh2025-05-0226-1580/+0
|
* rm COPYINGEuAndreh2025-03-201-661/+0
|
* mEuAndreh2025-01-063-13/+369
|
* mEuAndreh2025-01-067-1120/+344
|
* Cleanup repo, reinit in shEuAndreh2023-04-1434-4418/+1350
|
* rm -rf aux/EuAndreh2023-04-1427-1473/+0
|
* TODOs.md: Add #task-1554614f-2e33-616d-d021-70828dbf0381EuAndreh2021-09-101-0/+8
|
* src/gistatic.in: Fix HTML indentation (probably a typo while editing)EuAndreh2021-09-081-1/+6
|
* src/gistatic.in: Finish refs page with signatures, start commit pagesEuAndreh2021-09-081-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.
* src/gistatic.in: Initial sh versionEuAndreh2021-09-083-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.
* TODOs.md: Add #question-ab994373-9c09-c4f9-07cf-962f64443231EuAndreh2021-09-081-0/+3
|
* aux/prune-includes.sh: WIP version of brute force "#include" prunerEuAndreh2021-09-071-0/+24
|
* Makefile: Indent target dependenciesEuAndreh2021-09-071-3/+3
|
* src/config.h.in: s/GISTATIC_CONFIG_H/CONFIG_HEuAndreh2021-09-061-2/+2
|
* Makefile: Generate src/config.h from src/config.h.inEuAndreh2021-09-052-14/+16
|
* Makefile: Add better .c.o inference ruleEuAndreh2021-09-021-0/+3
|
* Makefile: Make objects no depend on headers but on other objectsEuAndreh2021-08-311-6/+6
|
* Makefile: Change order of built artifact to reflect actual build orderEuAndreh2021-08-311-1/+3
|
* Makefile: Use libgistatic.a to build gistatic instead of the underlying objectsEuAndreh2021-08-281-3/+3
| | | | | | | | | This way I can make sure at least that all the objects that are required to exist on the library file are being included. However, this has no influence on what should and shouldn't be exposed in src/gistatic.h, and which functions ought to be public. This verification will remain unimplemented, at least for now.
* Makefile: Run integration (expensive) tests after unit and linter testsEuAndreh2021-08-281-1/+1
|
* Makefile: Use macros over globs on "clean" targetEuAndreh2021-08-281-1/+1
|
* Makefile: Remove bin, lib and include artifacts in "uninstall" targetEuAndreh2021-08-281-0/+4
|
* Makefile: Be more explicit about empty lines on the generated src/config.hEuAndreh2021-08-281-1/+2
|
* Makefile: Move libgistatic.a to the beginning, following the natural ↵EuAndreh2021-08-281-3/+3
| | | | progression of artifacts
* Makefile: Remove duplicate usage of $(CFLAGS), $(LDFLAGS) and $(LDLIBS)EuAndreh2021-08-281-3/+3
|
* src/lib.c: Remove duplicate definition of PROGNAMEEuAndreh2021-08-281-2/+0
|
* TODOs.md: Add #task-543193c9-b1c5-9362-b69d-d7b6e5e071f0EuAndreh2021-08-281-0/+3
|
* TODOs.md: Add #task-54ab2440-45aa-5bf8-388c-43f8a5dbbd9cEuAndreh2021-08-281-0/+3
|
* aux/workflow/dist.sh: Be stricter with release pre-requisitesEuAndreh2021-08-282-6/+26
|
* src/lib.c: Mark local FILE* variable as constEuAndreh2021-08-271-1/+1
|
* src/*.c: Add newline between function return type and its nameEuAndreh2021-08-2710-91/+219
| | | | | | | | | | | | | The purpose of this change is two-fold: - make function and variable declarations grep-friendly (one can use a pattern /^fn_name/ to find the definition); - make the lines shorter, so less functions need to have their arguments span over many lines. This is more grep-friendly both for finding the function definition, but also for matching on the return type of the function or the variable. Update tests/c-lint.sh to enforce this.
* TODOs.md: Add comments to the body of #task-a6bdaeb0-7099-c728-2b7c-b080aa2fba33EuAndreh2021-08-271-0/+16
|