Commit Briefs

283939fb82 Omar Polo

replace date, strftime %G-%m-%d with %F

Use the more predictable %F, aka %Y-%m-%d, instead of %G-%m-%d. %G follows the definition of ISO-8601 week-based year, which is weird. In particular, 2024 is one of such years with weird behaviour: $ date -jf %Y-%m-%d +"%F %G-%m-%d" 2024-12-30 2024-12-30 2025-12-30 Diff from Lucas Gabriel Vuotto (thanks!); stsp agrees


98297eed5b Stefan Sperling

rename got_commit_graph_iter_start() to got_commit_graph_bfsort()

This function begins a breadth-first traversal. The new name makes it easier to distinguish from got_commit_graph_toposort().


26b163a03e Omar Polo

gotwebd: guard against missig folder and file parameter in BLOB and BLAME

ok stsp


723721e290 Omar Polo

gotwebd: use 'more' for the tag listing too

prodded by stsp and jamsek; ok stsp@


ac15152e21 Omar Polo

gotwebd: render READMEs in the tree view

ok tracey@


7f65bb55b8 Omar Polo

gotwebd: add patch action to serve diffs in plain text

ok tracey@


26678adde2 Omar Polo

gotwebd: get rid of proc.[ch]

proc.c really shines when there's a network of different types of processes, potentially with a various number of instances each, that needs to exchange messages. Gotwebd instead has a much simpler design, and using proc.c causes more overhead (/headaches) than it solves. So, this attempts to provide the same functionalities but with a much simpler implementation that fits gotwebd better. ok stsp@


417c892364 Omar Polo

gotwebd: fix branches modification time with show_repo_age off

If show_repo_age is set to off, got_get_repo_age() returns without setting the timestamp. got_get_repo_age() is also used by the branch listing to show how old they are however, and we end up rendering the stack garbage. Instead, respect `show_repo_age off' one layer above, and always return a timestamp in got_get_repo_age(). While here, initialize the timestamp to zero so it's set also in case of failures. Issue reported on IRC by xs, thanks!


4448825ab5 Omar Polo

dropping unnecessary strlen()s

ok jamsek, stsp


23c35dae29 Omar Polo

change got_get_repo_tags' limit argument to size_t

The function already carefully avoids wrapping around zero. While here add a sanity check for limit == 0, like what was previously done for got_get_repo_commits().


0a2fc48663 Omar Polo

gotwebd: make got_get_repo_commits take a size_t

and while here make sure 0 is rejected. requested by, improvements and ok stsp@


5144d22b0c Omar Polo

gotwebd: simplify got_get_repo_commits(): don't traverse all the commits!

In some cases (e.g. limit=1 for DIFF action) we could end up traversing all the commits instead of fetching just the one requested. Needless to say, this makes the diff page extremely slow. reported by and ok stsp@


50f6148a8c Omar Polo

gotwebd: fix some got_error_from_errno2/3 calls

it's not printf-like so %s don't make sense. Tweak the order of the arguments to obtain the intended output.


f06465966b Omar Polo

gotwebd: avoid needless double fseek()

got_gotweb_closefile() already takes care of rewinding before truncating and closing, so no need to replicate here. ok stsp@


8a078d7f13 Omar Polo

gotwebd: lower log priority of unexpected disconnections

no need to be so loud when a client disconnects earlier than expected, log it only in verbose mode. Don't log GOT_ERR_CANCELLED too since that is only used to communicate the callers that we need to stop. ok stsp@


29efeeddc1 Omar Polo

oops, one was missing


4e3e8516c9 Omar Polo

got_operations.c: use consistently a space before labels

makes diff prettier and easier to read; instead of the label we have the function name in the hunk line.


d20cd38512 Omar Polo

remove fsync() from got_gotweb_closefile()

discussed with millert@


24a4d8019b Omar Polo

rename got_gotweb_flushfile -> got_gotweb_closefile

suggested and ok millert@


08ea2d1b20 Omar Polo

make got_gotweb_flushfile always close the file

ok millert@


e62232ad5e Omar Polo

rename some local fdN vars after previous change


18069c98fe Omar Polo

simplify got_gotweb_openfile/flushfile

Return only the FILE *, and require only that to close subsequently. Having to manage the file descriptor too makes using these functions unnecessary complex. millert@ agrees


5822e79e39 Omar Polo

include sha2.h too where sha1.h is included

In preparation for wide sha256 support; stsp@ agrees. Change done mechanically with find . -iname \*.[cy] -exec sam {} + X ,x/<sha1\.h>/i/\n#include <sha2.h>


01392bd604 Tracey Emery

gotwebd: abort tree and blob as well


4f152e84c0 Omar Polo

gotwebd: abort blame if the client disconnect midway thru

Without setting err when the callback fails we continue the blame machinery.