Commit Briefs
fix gotd notification test failures due to missing shell quoting
The expected output generated by test scripts was wrong on days with a single-digit date. Found by Omar's regress builder. ok op@
regress: use seq instead of jot
This is just for -portable since jot is not always available. ok stsp@
got.1: escape Eq since it's a GNU roff macro
`.Op Fl Eq' gets rendered as [-] with groff because Eq it's a macro. Escape it to get it rendered correctly. Discussed with bentley. Reported by casaca on the IRC channel, thanks!
initial documentation for the got-notify-http json payload
committing on behalf of op@, ok by me
portable: netbsd: add stdarg for enter_chroot
stdarg.h is required on NetBSD for variadic definitions.
portable: gotd: update for session_{read,write}.c
gotd's session.c file has been split in two, so update the sources to accommodate this change.
add test_tag_changed() for got-notify-http
at the moment it is indistinguishable from the created tag.
http_notification.sh: add a testcase
add test_branch_created(). at the moment this is not different from a "normal" commit notification but it'll change in the future and it's handy to have it for an upcoming branch removed notification.
got-notify-http: add a type:commit field in the json
will help to differentiate these notification objects from the others.
make 'got status' display interrupted rebase, histedit, and merge operations
When an operation is interrupted add a trailing message to status output which displays the operation and branches involved. This information will be useful when diagnosing problem reports and it helps new users with contextualizing multi-operation work tree state. ok op@
forgot to unveil the log message file passed to got commit -F
found by op's regress builder
got-notify-http: refactor jsonify()
To support the other types of notifications, we can't just peek at the first byte and decide wether it's a short or long format. Refactor the parsing so that there's one main entrypoint, jsonify(), that calls jsonify_comment() or jsonify_comment_short() depending on the format of the line. Other "line types" will be added as a follow-up to support the other notification types.
got-notify-http: change the layout of the json
Split the author/committer in sub-fields, rename author -> committer in the short format parser and cache the author for the long format in case it's the same user as the committer. Put a copy of the first line of the commit message in the "short_message" field. There's some redundancy now, but it's to make consuming easier. ok stsp@