Commits
- Commit:
05fd31691c7f3c33867fb0acd5008fa2f555b461
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add support for reading blobs to object_open_io.c
- Commit:
4c9b88110ffd0deb6eed9861f320246d8354bae2
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
introduce got_opentemp_truncatefd()
- Commit:
30a624fb1ef8d2d9706a604cbf65dcdacf072e72
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
avoid a rename/stat race when gotd installs a new pack and then uses it
Reset the cached repository's pack directory mtime after installing a new
pack and pack index file. I have observed the mtime of the pack directory
as reported by stat(2) remaining unchanged, until some time has passed
beyond the rename(2) calls used to install the pack file and its index.
If gotd immediately tries to read objects installed in a new pack file then
the mtime reported by stat(2) might appear as unchanged. gotd will then fail
to update its cached list of pack index files and not find the newly
installed objects.
Clearing the cached timestamp forces a readdir(3) call which does expose
the newly installed pack index file as expected.
Not sure whether stat(2) is supposed to immediately expose mtime changes
after a rename(2). If so then this might warrant digging into the kernel.
Seen while running regression tests for upcoming gotd notification support.
- Commit:
10477b5aacb13088676c3bfd7e0fcc477ba2724e
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
reuse existing repository struct in gotd session update_ref()
Avoids pointlessly opening and closing a separate repository instance.
- Commit:
9c177e8d04414b7be4a02d64ed06dcc402a7b0a8
- From:
- Omar Polo <op@omarpolo.com>
- Date:
use a define for vi(1) path
This is intended to aid -portable, since other systems may have vi
installed in a different place, or maybe prefer to ship with a
different default editor.
ok stsp@
- Commit:
c5d61cbc3a9c337b669af6b330709b6b4d43c872
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
speed up got tag -l by caching timestamps in got_ref_cmp_tags()
performance problem reported by naddy@
- Commit:
5737d679619ac7bfa357277e0508f62d544d8385
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
bump version number
- Commit:
66e67abe8e18c74089af4706f3d79bdcf2bac30a
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
CHANGES for 0.97
- Commit:
102fba8b84c74851ac56ae5a99a5739e2a4b2514
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add an xfail test for a case where rebase fails to forward a branch
Because 'got rebase' only does a first-parent traversal it will try to
rebase commits which appear in the history of a branch, even when the
branch to be rebased is already based on that history. This results in
spurious merge conflicts as existing changes get re-applied.
The desired behaviour would be that 'got rebase' forwards the branch,
as it does when the 'got merge -M' command used by this test case is
replaced by a simple 'got merge' which avoids creating a merge commit.
Problem reported by naddy in the "Landry's firefox repository" thread:
https://marc.gameoftrees.org/mail/1706721001.20565_0.html
- Commit:
4cbe2b468089c3a0d8cc4963ef0056060b82049a
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add a test which checks what happens when rebasing onto a merge commit
- Commit:
13cd1d190795ee2b0bd10c7e4590dac2900cc248
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
add a test which checks what happens when a merge commit is rebased
- Commit:
e05fd55cbfee4e4023db6595ae04fa79275c8637
- From:
- Omar Polo <op@omarpolo.com>
- Date:
adjust min_datalen in a few places
Fix the computation of min_datalen that was forgotten in
8f137979fc5e284a136cf8950e8b3895d7ea208b.
got_privsep_recv_imsg() already takes care of converting
GOT_IMSG_ERROR to errors, so just how we didn't need to call
recv_imsg_error() at all, we don't need to include it in the requested
min_datalen.
- Commit:
cc57c2cb8c8d6bc0a47692b47a6fefc5adaf2510
- From:
- Omar Polo <op@omarpolo.com>
- Date:
swap the order of the checks to not hide an error
If a libexec process returns an GOT_IMSG_ERROR that happens to be
smaller than the requested min_datalen, got_privsep_recv_imsg()
returns GOT_IMSG_PRIVSEP_LEN hiding the original error.
ok stsp@
- Commit:
fcece7180725bba9a781eaa892af379b1986208b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
attempt to speed up the deltification for big files
The current hash table perform poorly on big files due to a small
resize step that pushes the table to its limits continuously.
Instead, to have both a better performing hash table and keep the
memory consumption low, save the blocks in an array and use the
hash table as index. Then, use a more generous resizing scheme
that guarantees the good properties of the hash table.
To avoid having to rebuild the table when the array is resized,
save the indexes in the table, and to further reduce the memory
consumption use 32 bit indices. On amd64 this means that each slot
is 4 bytes instead of 8 for a pointer or 24 for a struct
got_deltify_block.
ok stsp@
- Commit:
f9e9269513c7ee687c46d6060a784a9ca11646ce
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix invalid imsg_free() in got_privsep_recv_printed_commits()
Depending on the error got_privsep_recv_imsg() may leave imsg
un-initialized, so change it to always free the imsg on error if
needed, so callers don't have to.
got_privsep_recv_printed_commits() and got-read-patch were the only
places where we could end up calling imsg_free() on uninitialized
imsg, fix them.
ok stsp@
- Commit:
7a86002db34d49472a7d75c1802ee99c2120ef3c
- From:
- Omar Polo <op@omarpolo.com>
- Date:
improve execv error message
spotted using -portable on a system without openssh installed.
Showing the program we've failed to exec can be handy.
ok stsp@
- Commit:
51f4d4cb56fbe32cd3511fb8d301525ef79483e0
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
bump version number
- Commit:
7cec82d8d49ef407a4b47bd79cbc61390b123934
- From:
- Stefan Sperling <stsp@stsp.name>
- Date:
CHANGES for 0.96
- Commit:
1bda45afb17304a4f66a3232dcedc55e3d02c9bf
- From:
- Omar Polo <op@omarpolo.com>
- Date:
never write accum_buf on error in got_pack_dump_delta_chain_to_file()
and also avoid to override `err' if fwrite fails.
ok millert, stsp
- Commit:
8c8d22ba3f20c7468ada36f3f21837de6483fa8c
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix use of uninitialized variable in update_blob
spotted by smatch. ok millert@
- Commit:
e9a3af3077c8973cb14a176aed8b0fc9658441ef
- From:
- Omar Polo <op@omarpolo.com>
- Date:
plug memory leak in got_pack_dump_delta_chain_to_file()
found by smatch. ok stsp@
- Commit:
06bd8ee415aa89adaeb49825ad96dfe83554b77e
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fmt
- Commit:
db315d31c88c16f8105c1500cac6581f20419215
- From:
- Omar Polo <op@omarpolo.com>
- Date:
pass the argument to calloc in the right order; no-op in practice
reported by smatch.
- Commit:
736fac9082f40fedb3e0fe65f715dc403eb7b250
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix logging during gotwebd shutdown
During `rcctl stop gotwebd' the sockets process gets a SIGTERM and
dies, and this makes the parent process assume it exited abnormally.
Instead, catch SIGINT and SIGTERM and exit gracefully.
Issue reported by xs on IRC.
ok jamsek
- Commit:
2fbb00a4292fb45faa409c8983136a105cbda7ba
- From:
- Omar Polo <op@omarpolo.com>
- Date:
gotwebd: fix colour of target lines in dark mode
reported by xs on IRC, thanks!