Commits
- Commit:
cdaefb15ec98f4140621e87d6e7a2526ce29c495
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix typo in a comment
- Commit:
ea5e974da9b1047689411a00ecc0a9c1fb101d73
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got-notify-http: fix unicode handling
JSON strings are made of UNICODE codepoints, of which only \, " and
control characters have to be escaped, and the whole document MUST
be encoded in UTF-8. The current code generates invalid strings
for non-ASCII characters, so it has to be made UTF-8 aware.
tedu' isu8cont() can't be used since it allows surrogate pairs and
overlong sequences which will cause decoding errors on the receiving
side. Similarly, mbtowc() depends on the current locale and could
cause issues in -portable.
Instead, bundle Björn Höhrmann's "Flexible and Economical UTF-8
Decoder" and use it to parse the text. Decoding errors results in
the replacement character U+FFFD being emitted and the bytes
considered so far to be discarded; the decoder is then restarted
with the next byte.
Git commit messages don't carry the notion of the encoding, but
it's reasonable to expect UTF-8 (which is a superset of ASCII).
For other more esotic encodings, the commit id can be used to
manually extract the data.
ok stsp@
- Commit:
87890bc26c1c6958bd64bb9d46fbc29ba6a92d95
- From:
- Omar Polo <op@omarpolo.com>
- Date:
http_notification regress: prettify the json
long lines are not manegeable. split the json over multiple lines,
then use ed to join everything back in a single one.
- Commit:
9e88f9d9a5df5ab1462296b2ba998f33a1c56ea4
- From:
- Omar Polo <op@omarpolo.com>
- Date:
regress: http-server: hide the HTTP headers
The http-server script is already validating the headers, doing so
in the regress too is not helpful.
- Commit:
3b44bdbe821e92c08ae1074b204b273b661e1941
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got-notify-http: reject 3XX status codes
At least for now, we don't support following redirects nor retrying
the post, so consider a 3XX status a failure too.
- Commit:
83fccf2ddf25d8a98b076afeb22dfa6d7f6aaad2
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add my name in the bufio sources
- Commit:
0f665edb9f45db7923e99c942364d88420f4b3f4
- From:
- Omar Polo <op@omarpolo.com>
- Date:
adjust expected output in the regress
- Commit:
5565365ce71d431c522f98b121706b13c4bf2d22
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add got-notify-http
ok stsp@
- Commit:
f9e6537008c7344a6107b88bc19c5f293cacd793
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix gotd_parse_url()
A path of "/" is valid and trailing slashes must be preserved.
ok stsp@
- Commit:
fb5636bebb6e4d59f4bbc0fd78650714474ac681
- From:
- Omar Polo <op@omarpolo.com>
- Date:
add a messagelen field in the notifications
Similar to the `got cat' output; it's needed to un-ambiguosly parse
the content of the notification, which is already useful to parse
the email content and invaluable for the upcoming got-notify-http.
ok stsp@
- Commit:
98297eed5b9082b66f6397a0921c8d90df72cca1
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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().
- Commit:
371457e66c4c0ce1ae8880e2346336a14ad6cf6d
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
remove a confusing comment
This function starts a breadth-first traversal, not necessarily first-parent.
- Commit:
e12cc036c3e7a71d71bb6a83a9a97bd53f5ba497
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
make 'got rebase' find a merge base with topological sorting if needed
Fixes a problematic case of spurious conflicts encountered by
naddy@ on landry's firefox package git repository.
The current implementation of toposort is expensive, so this might
make rebase appear to run slowly on large repositories. However,
this is better than letting users deal with spurious conflicts.
ok op@
- Commit:
83e5e9a11730a93d948aabbafdb2592713eb6f28
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add log -t option which enables topological sorting of commits
Because the current implementation of toposort is expensive, add a
flag which enables it. I would rather not have this option and just
use toposort by default, however more work is required to achieve
acceptable performance.
ok op@
- Commit:
2afa256de5f9027b941e0a912d57fa5201a6cfc6
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add support for topological sorting to the commit graph
The algorithm implemented here is based on a description I read
on github's blog. See code comments for details.
ok op@
- Commit:
38e11cc05b40eb2d4fe81868dccdf2c59494efa4
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add a utf8 todo item
- Commit:
494e2b9b6acdb92382e65d0d9c990aaf8d3cbb22
- From:
- Kyle Ackerman <kackerman0102@gmail.com>
- Via:
- Stefan Sperling <stsp@stsp.name>
- Date:
plug a memory leak in 'got blame'
The leak is present in got_privsep_recv_traversed_commits. There is
an edge case where it receives consecutive imsgs. The first behaves as
normal and we got_object_id_dup the last commit id for
changed_commit_id. The following imsg(s) then still allocates the last
commit id, leaking the one(s) prior allocated.
Patch by Kyle Ackerman
- Commit:
c237d8914d9e7b85e50ad13b46083cdc61a78977
- From:
- Omar Polo <op@omarpolo.com>
- Date:
render_notification: don't leak fd on error
- Commit:
cef7eb79352370c77aee8fa482ededde42d8244e
- From:
- Omar Polo <op@omarpolo.com>
- Date:
don't ignore err while preparing notifications contents
- Commit:
54dbd95c889dfcd42c499f19d3af056f2a706791
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fmt
- Commit:
78e82c8a2a2cd0fed316492b18264f5d8727f961
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
remove GOT_ERR_ITER_BUSY from got_commit_graph_iter_start()
Just clear any left-over iteration state and begin a fresh iteration
instead of returning GOT_ERR_ITER_BUSY if the caller did not loop
through the entire graph.
This change currently doesn't matter much since all existing callers
only do a single pass over the graph. But it frees up an error code
and makes this API more flexible.
- Commit:
daac4478f74fe96633ad055e02d74c781b34270c
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
update gotd TODO list; email notifications have been implemented
- Commit:
4e2fa922ceaa28b6bee21ecd9b09f62be5e1778f
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
hide a pointless end-of-file error on imsg pipe in libexec helpers
This error popped up in op's regress builder:
got-fetch-pack: error 118 "test-repo: Permission denied": poll: unexpected end of file
ok op@
- Commit:
e8d451cc39fa03a3fd56b95b86c820491d399550
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
display process title in syslog when a gotd child process exits
- Commit:
e70fd95218f6bb77ff45fc0c94b8daeb6709ffa7
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
split gotd/session.c into session_read.c and session_write.c
This makes it easier to tweak the read/write code paths separately.