portable: release 0.98.2

portable: enable got-fetch-http

portable: set next version

portable: include utf8d.h in dist tarball Make sure we include this header in the release tarball

portable: set next version

portable: release 0.98

portable: remove portably-defined headers These are looked for portably.

portable: gotd libexec logging Include the logging functionality from gotd for the helpers.

got-notify-http: use fatalx since errno is useless here

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

got-notify-email: sort/remove includes we don't need getopt.h; getopt() is in unistd.h. also sort the headers while here. ok stsp@

make 'got fetch' work with URLs which refer to $HOME via a tilde ~ 'got clone' already happens to support such URLs via scp-style syntax: user@ While the clone operation succeded, subsequent fetch operations would raise an error: '/~/test.git' does not appear to be a git repository Make such URLs work when they are read back from got.conf, and also on the clone command line in canonical form: ssh://user@ Not adding a test case because I don't see an easy way to add test coverage for this without spilling test data into home directories or modifying ~/.ssh/ssh_config. Problem found by Jesper Wallin.

bump version number

CHANGES for 0.98

sync dist file list

extend test_patch_empty_file() test coverage Check what happens when patches attempt to edit or delete empty files.

got patch: fix applying on empty files if we've reached EOF without finding a match is fine if and only if the target file is empty, so add this exception. reported by naddy, ok stsp

got-notify-http: use a UNIX timestamp for the date Was suggested by Lucas some time ago. ok stsp@ with a tweak in the manual.

Use got_pkt_readlen() to parse pkt-lens.

rename a function to avoid gramatical ambiguity

ensure that test_unstage_directory calls test_done on success

make test_stage_directory pass and actually hook it up to regress runs

require -R option for staging or unstaging directory contents -R is needed on almost all other commands so this makes things consistent. Patch by Lorenz (xha)

make got-fetch-http pass "done\n" through rather than faking it Without this we exit the loop early and got-fetch-pack sees unexpected end-of-file on stdout trying to write its final "done\n" message. ok op@

show path of got-fetch-http in execv error message