Commits
- Commit:
b2c9f618aa4d760f0edfc7dbf6bcd01ca38aca17
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
regress: use standard shell idiom for default values
- Commit:
2959f41846dadc2d7826083bfc86d41a49b37420
- From:
- Omar Polo <op@omarpolo.com>
- Date:
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.
- Commit:
99ed25deb726bbb5294a88152cb1ab8a2049f537
- From:
- Omar Polo <op@omarpolo.com>
- Date:
regress: allow to customize GOT_TEST_HTTP_PORT
- Commit:
60ac05357c165b2b9aa4836616db21eeaa4211ea
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
redo "got-fetch-http: fix GET request URL", without breaking tests
My previous fix for ~user in SSH URLs broke ~user in HTTP URLs,
as used on sourcehut. Sanitize the amount of leading and embedded
slashes in URLs to make things work in all cases.
The root cause of the test problem with naddy's previous diff was
likely in the http-server script itself, where a request like
GET //repo//info/refs?service=git-upload-pack somehow ended up as
GET $testroot///info/refs. We work around this here by avoiding
the double slashes.
- Commit:
fe55fe41ebae13ff135eb0041f19a224015cbf29
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
got-fetch-http: backout GET request URL fix
It broke the clone regression test.
- Commit:
1db91dc77e5551d8955120674296a29d7820a483
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Date:
got-fetch-http: fix GET request URL
Add a leading '/' and do not produce a double "//" after the path.
ok op
- Commit:
ebd4d9a0266bb7a7145bcd6138bf64a5b0c1d004
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
backout got stage -R option addition
The stage command is usually used in a recursive manner, like 'got commit'.
Forcing users to specify -R all the time is deemed too inconvenient in
practice.
discussed on IRC with Lorenz (xha), Omar, and Lucas
- Commit:
93b39c2f4a792f8a83e7621425edbd48f0c16854
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix an fd leak in gotd's notify process
This leak resulted in the gotd notify process spinning on CPU in
an imsg_read() -> EAGAIN loop once it ran out of file descriptors.
- Commit:
1c8e2cfac8b0d421f5363b90eea492e5cd09940f
- From:
- James Cook <falsifian@falsifian.org>
- Date:
fix previous: "ssh" accidentally named "git"
- Commit:
78775350960979fcef94573431a8735d28978fa5
- From:
- James Cook <falsifian@falsifian.org>
- Date:
update protocol lists
Document http and https protocols in got.conf(5). Copied from got(1)
except reworded the part that referred to got.conf(5).
Change "send directive" to "send block" in got(1), since got.conf(5)
says there's "one configuration directive per line".
Adjust table widths: longest protocol name is now "https".
- Commit:
770f8d29ee699d4a55495f9e6286e6bb1fba65a1
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got-notify-http: fix I/O with TLS (again)
We try to handle early replies from the server, so we call tls_read()
at each "tick" of the event loop.
For the TLS case, however, bufio_read() will set bio->wantev, and
if we rely only on it we can deadlock trying to read data from the
server without having sent all the request.
Found out the hard way while trying to send several notifications
in one go.
ok stsp
- Commit:
9a8d74891980ef72c6e4bb2f7d377738b3308d0f
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
revert part of previous commit; the parent process is not ephemeral
pointed out by op@
- Commit:
1bd35332a599d65566a5fab8c0ff0eb6201812ff
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
prevent gotd notification process from exiting due to EPIPE
Ephermeral processes on the other end of a pipe might decide to exit
which results in EPIPE when writing. This is not a fatal error but is
somewhat expected during normal operation (at least until we improve
the inter-process communication about notifications).
- Commit:
b883aee3556b3841004d3b1ec76cb0d26de420b0
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
update got.conf(5) remote config example from git.g.o to got.g.o
- Commit:
b3fabc965e73df1255fb6fe1c1ca6d3452a6264e
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got-notify-http: consistetly use fatal instead of err
- Commit:
8aebbd0a7057d6129ac03dd30732374167048488
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got-notify-http: make unexpected EOF more useful
- Commit:
a0769bb1e683876bd26ba4c2cc83e3e35db8111f
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
fix got-fetch-http when chunked encoding is not used
We would end up raising a spurious error when the server had no more data
to send and would abort the clone operation, while everything was fine in
fact.
Problem reported by vazub via IRC, thanks!
- Commit:
9e2d05155fd66ac528765af1d592aea55ba4fe78
- From:
- Omar Polo <op@omarpolo.com>
- Date:
got-notify-http: use fatalx since errno is useless here
- Commit:
283939fb8245f1600227fa1cde3c5623666fac8d
- From:
- Lucas Gabriel Vuotto <lucas@sexy.is>
- Via:
- Omar Polo <op@omarpolo.com>
- Date:
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
- Commit:
2c1b17802598396420e45c97fe4e8d2d03fcb523
- From:
- Omar Polo <op@omarpolo.com>
- Date:
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@
- Commit:
54b37e986975e273465cf0c0d2f842d371d7f181
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
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@127.0.0.1:~/test.git
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@127.0.0.1/~/test.git
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.
- Commit:
b93f334d743a91156b4558df907bd59a0c85cf69
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
bump version number
- Commit:
6dd1428a45d4df8a4be983931f13fa7125610667
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
CHANGES for 0.98
- Commit:
0d99dd8ddd28e986ad291dcfaf37207b1b306c9e
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
sync dist file list
- Commit:
27aa2674c93e2cb1cbf231640e9d2ca4969ad008
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
extend test_patch_empty_file() test coverage
Check what happens when patches attempt to edit or delete empty files.