Commit Briefs



Omar Polo

gotwebd: remove previd and prevset query string parameter

They're no longer used.


Omar Polo

gotwebd: delete dead code

at this point we can't know if the client has disconnected, we just finished parsing the fcgi parameters and started handling the reply. We'll know whether the client disconnected only later, while trying to send the page content.


Omar Polo

gotwebd: use less temp files

Instead of allocating a whole set of temp fd per `listen' directive, just use a global set per "sockets" process. This is fine since gotwebd doesn't keep multiple connections open at the same time, once it enters gotwebd_process_request() it won't exit until all the page has been processed. (this because we don't have async APIs for got operations.) ok stsp@


Omar Polo

got{,web}d: unify log.c

gotd and gotwebd are using almost the same log.c file, so unify. This only slightly changes gotwebd logs to include the process name, like gotd. ok stsp@


Omar Polo

gotwebd: add the magic ".git" handling

like gotd, assume an implicit ".git" if the repo doesn't exist. Merge gotweb_init_repo_dir() and gotweb_load_got_path() since the former only sets repo_dir->name, and we don't realistically know the name until we've opened the directory. While here, unbreak the git worktree handling too. Realistically, moving forward, we should issue a redirect to the canonical URL or at least set the correct metadata in the document to avoid having multiple URLs for the same content. ok stsp; tiny change to repo_dir->name handling done after the ok.



Omar Polo

gotwebd: retire max_repos setting

Unlike max_repos_display which limits the number of items per page, max_repos is an hard-limit on the number of repos gotwebd would process. "kill it with fire" tracey@ about the idea ok stsp



Omar Polo

gotwebd: remove PAGE handling

The page querystring parameter is long gone and currently unused. It was replaced mith the "more" buttons in all the views, except INDEX that uses `index_page'. ok jamsek


Omar Polo

gotwebd: use nitems() instead of ACTIONS__MAX

I feel safer by using the explicit size of the table rather than an hypothetical maximum value given by the enum. Mostly because in the past I edited a table and forgot to remove the corresponding enum value. ok stsp@



Omar Polo

gotwebd: use 'more' for the tag listing too

prodded by stsp and jamsek; ok stsp@


Omar Polo

gotwebd: render less tags in the summary page

suggested / ok stsp


Omar Polo

gotwebd: render READMEs in the tree view

ok tracey@


Omar Polo

gotwebd: add patch action to serve diffs in plain text

ok tracey@


Omar Polo

refactor gotweb_load_got_path; no functional change

ok tracey@


Stefan Sperling

remove the gotwebd repository cache

It only had 4 slots so was never quite useful, and sharing of sock->pack_fds across cached repositories seems problematic. with help from + ok op@


Stefan Sperling

whitespace fix


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@


Omar Polo

gotwebd: improve gotwebd_assign_querystring()

This prevents the issues that we just hit with forgetting to remove PREVID: instead of relying on the enum value to yield the size of a table, use nitems(). Also, quit as soon as the matching key was found, no need to iterate further. ok stsp@


Omar Polo

gotwebd: render all the datetimes in a time tag

fixes an unused variable that should have been dropped in previous commit too. ok stsp@



Omar Polo

gotwebd: move the buffering from the fastcgi layer to the template

Reduces the indirection in fcgi.c, starts to make the struct template opaque, simplifies the template usage. All with a net negative :-) reads fine to stsp@ (thanks!)