Commits
- Commit:
c44c7d6e16104afbe967e70415d98e2e58ec1b23
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
avoid copying reused deltas to delta cache file; copy from pack file instead
ok op@
- Commit:
b1fad72fdca8c2a237161cac88778e31a58bccb1
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
add missing free() of delta buffers in several error paths
- Commit:
e485d53ccedd8763e8b66aefb2d491487e6d73c0
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
change add_delta to take an off_t instead of size_t.
add_delta already calls got_delta_open casting the size_t to off_t, and
all the add_delta callers pass an off_t anyway; fixes an implicit off_t
truncation.
ok stsp@
- Commit:
66e6097f5d9b6050841626edfd5c094114eeae28
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
convert got_pack' filesize to off_t; ok stsp@
- Commit:
aa75acde9c5f406b658c54827bc596cf96d7c64e
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
check size before calling mmap(2)
It's only a preparatory step, as checking whether a size_t is less than
SIZE_MAX is moot. In a follow-up commit, however, the `filesize' field
of the struct got_pack will become off_t and these checks will kick in.
This also makes consistent how we guard mmap(2) against empty files.
ok and improvements stsp@
- Commit:
30d415a5040946f62a5e9e8c6bf6ccf7f5509541
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
add missing `goto done;' on error path; ok stsp@
- Commit:
04fb0dd80d172753f311cfa4fdd0e15b107240bd
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix off_t type mismatch
off_t is a signed type and depending on the platform, it can be
"long" or "long long", so cast to long long for printf().
- Commit:
2424a69df90c2e63ec0640ae982b316106698760
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
change got_pack_parse_offset_delta tslen argument to size_t
The tslen argument is always in the (1..9) range so `int' is technically
fine (even int8_t would be!) but all the callers are passing a size_t,
so change the type accordingly.
ok stsp@
- Commit:
a6ca45d5dd6d6fe622d1a0c2bf771551f13c20dd
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
close parent's end of imsg pipe before waiting for a child process to exit
Prevents a dead-lock in 'tog log' where tog wants to exit (e.g. because
the user pressed Ctrl-C) while a got-read-pack child process wants to
send more commits.
Closing the parent's pipe descriptor makes writes to the pipe fail in
the child process. The child then unwinds via an ERR_EOF error and
exits, instead of forever polling its end of the pipe in order to
write more data.
ok jamsek
- Commit:
eac8a74152aaeefa13523d08f355cfd630a8c799
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
provide a more useful error if the size of a packed object won't fit in 64 bits
- Commit:
723ed5ad7b6b4e64fb94f1b356e4cfbf4c86edac
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
do not crash if no delta cache is present while parsing deltas
- Commit:
e4a6dbc6cd4d9ac4f616b16388061ef0f8fec303
- From:
- Christian Weisgerber <naddy@mips.inka.de>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix off_t type mismatches
off_t is a signed type and depending on the platform, it can be
"long" or "long long", so cast to long long for printf().
ok stsp
- Commit:
8b925c6ccd3968917253ea191906a1710c40ed2d
- From:
- Thomas Adam <thomas@xteddy.org>
- Date:
portable: add back sys/queue.h
Now that the handling of including sys/queue.h is better, there's no
need to remove those lines from the source. Copy the location of those
original sys/queue.h lines from upstream at the same line number, so as
to avoid any conflicts in the future.
- Commit:
68036464ea72a92fd21d72135814faed6abad71a
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
allow start_pack_privsep_child() to be called from outside lib/object.c
- Commit:
bfb5ee0b7372ae375143b9dee5552b8bec26cf05
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
open temporary files needed for delta application in got_repo_open()
This prepares for callers of got_repo_open() that cannot afford to
open files in /tmp, such as gotwebd. In a follow-up change, we could
ask such callers to pass in the required amount of open temporary files.
One consequence is that got_repo_open() now requires the "cpath" pledge
promise. Add the "cpath" promise to affected callers and remove it once
the repository has been opened.
ok tracey
- Commit:
6c85883bcc71c13fe4fa5bfba2ddf30edabc92b9
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
avoid get_delta_chain_max_size() in dump_delta_chain_to_mem()
- Commit:
210941d5b54452c8d6c17e171bae6b701622a014
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
avoid get_delta_chain_max_size() in dump_delta_chain_to_file()
- Commit:
9249e7e337edcfd344dc416d11ad4274c90a02f5
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
store deltas in compressed form while packing, both in memory and cache file
This reduces memory and disk space consumption during packing.
with tweaks + memleak on error fix from op@
ok op@
- Commit:
ec242592d329728975bf10a1196907167de7fed0
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
inline struct got_object_id in struct got_object_qid
Saves us from doing a malloc/free call for every item on the list.
ok op@
- Commit:
d953d89953407bff647a8992583c9f0850f5771c
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
remove needless header inclusion; lib/pack.c does not need got_opentemp.h
- Commit:
e2752401e9de43f1f8c1e3a1601ec073cccab548
- From:
- Omar Polo <op@omarpolo.com>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
factorize imsg_clear calls after imsg_flush failures
imsg_clear frees and closes resources allocated as part of enqueueing
imsgs so it's a no-op after reads.
discussed with and ok stsp@
- Commit:
f9c2e8e5d5310b6b1cd22dcfc8f9f5d1d7a16d19
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
reuse existing deltas when creating pack files
tested by thomas, naddy, and myself
- Commit:
67af9f37413a2529ee144aa57def023a428dd996
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix double-free and double-close issues in error paths of got_packidx_open()
- Commit:
b490237f809cf7593cfa7de0bbb48050e27993a6
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
fix file corruption regression in 'got checkout' caused by commit db696021
got-read-pack must rewind its files temporary files before reusing them.
Problem reported by naddy
ok tracey naddy
- Commit:
1944573a096bbe0d2b80dd1644f01383b9353af5
- From:
- Stefan Sperling <stsp@stsp.name>
- Via:
- Thomas Adam <thomas@xteddy.org>
- Date:
add missing checks for reads beyond the mapped memory area of a pack file