libexec


Log

Author Commit Date CI Message
Tracey Emery 16c4be8c 2021-08-27T19:32:56 fix to allow empty send and fetch blocks, ok stsp@
Tracey Emery cfd92333 2021-08-27T16:58:26 add send and fetch plumbing to parser for got.conf This is the beginning of support for naddy's suggestion to break this out similar to git. More code to come from stsp. ok stsp@
Stefan Sperling f8a36e22 2021-08-26T12:30:42 add 'got send' command for sending changes to remote repositories Known to work against git-daemon and github Git server implementations. Tests by abieber, naddy, jrick, and myself. Man page additions reviewed by Lucas.
Stefan Sperling 8991a328 2021-08-26T07:08:48 add a missing bounds-check in got-fetch-pack when parsing server response The tokenize_refline() function could end up reading past the end of the buffer if the refline is not terminated with whitespace or \0.
Stefan Sperling a90356f7 2021-08-26T07:01:34 prevent NULL deref in got-fetch-pack if server does not announce capabilities The my_capabilities pointer may remain NULL. Check for NULL before use.
Stefan Sperling 14d2b281 2021-08-25T21:40:38 fix the error message shown when the server sends a bad ref line Exposed by trying to run got clone -l against shithub.us over git:// found by abieber@
Stefan Sperling 9ca26ac3 2021-08-06T13:31:40 style fix: avoid comparison of pointer variable against 0 in got-fetch-pack
Stefan Sperling c3564dfa 2021-07-15T07:48:40 don't scan pack index offsets for large values if pack file is < 2GB This saves an iteration over the entire h->offsets array when opening a pack index which should not contain large offsets in the first place. ok millert@
Stefan Sperling d5c81d44 2021-07-08T11:03:29 verify object ID checksums while loose objects are being accessed
Stefan Sperling 12f2167a 2021-07-04T16:24:52 add checksum parameters to got_inflate functions which did not provide them yet
Christian Weisgerber dbdddfee 2021-06-23T20:48:35 switch from SIMPLEQ to equivalent STAILQ macros The singly-linked tail queue macros were added to OpenBSD 6.9 and are more widely available on other systems. ok stsp
Stefan Sperling 40e3cb72 2021-06-22T19:01:44 fix raw object size sent by got-read-pack
Stefan Sperling a8591711 2021-06-18T13:52:26 raw object size should not include the length of the object's header This way, the size of a raw object is the same regardless of whether the object was found in a loose object file or in a pack file.
Stefan Sperling 282f42e5 2021-06-05T09:51:24 remove stray debug print which was accidentally committed
Stefan Sperling e5ad7365 2021-05-20T09:51:59 fix file descriptor leak when got-read-object returns a raw object
Stefan Sperling 59d1e4a0 2021-03-10T22:49:22 implement raw object data access; this will be required for packing
Stefan Sperling 08578a35 2021-01-22T11:05:05 make close(2) failure checks consistent; check 'close() == -1' everywhere ok millert, naddy
Stefan Sperling 56b63ca4 2021-01-22T11:04:47 make fclose(3) failure checks consistent; check 'fclose() == EOF' everywhere ok millert, naddy
Stefan Sperling 99495ddb 2021-01-10T23:48:51 add a 'reference' directive to remote repositories in got.conf(5) Make use of this in 'got clone' to persist -R option arguments given on the command line in the cloned repository's got.conf(5) file.
Stefan Sperling 0c8b29c5 2021-01-05T17:22:14 add a 'fetch-all-branches' configuration setting to got.conf(5) Set fetch-all-branches in the got.conf(5) file created by 'got clone -a' in order to make a future 'got fetch' act like 'got fetch -a' by default.
Stefan Sperling 98f64f14 2021-01-05T17:17:58 work around spurious ACK responses from git servers in got-fetch-pack The Git server can apparently send duplicate ACK responses even though we do not enable the multi_ack capability. According to the Git protocol docs the server should only send ACKs after receiving 'done' from the client if multi_ack has been enabled. However, a duplicate ACK response can be triggered by running 'got fetch -a' in our fetch_update_tag test. This resulted in the following error: got-fetch-pack: unknown side-band received from server got: bad packet received
Stefan Sperling 85f4e1e7 2020-12-17T16:17:51 fix the type of variable 'idx' in update_packidx()
Stefan Sperling 6059809a 2020-12-17T15:54:47 use size_t for loop indices to avoid signedness warnings; by emaste@freebsd Same change as 16aeacf7088d, for subdirectories other than lib/
Stefan Sperling 20b7abb3 2020-10-22T20:36:23 detect unknown repository format extensions (such as sha256 format) ok millert
Christian Weisgerber 62d463ca 2020-10-20T22:43:59 indentation fixes
Christian Weisgerber 1367695b 2020-09-26T20:53:13 fix potential type mismatches between format specifiers and arguments Cast printf arguments of type time_t and off_t to long long to match the %lld format specifier on platforms where this might not be the case. In parse.y, switch the number variable to long long because all its interactions are with that type anyway. ok millert stsp
Stefan Sperling b8adfa55 2020-09-25T21:35:10 add "branch" keyword to got.conf which specifies a list of branches to fetch ok tracey
Stefan Sperling 5e082626 2020-09-24T10:51:21 remove redundant leading slashes from repository path parsed from got.conf
Stefan Sperling 6c13dcd2 2020-09-18T18:24:09 send gitconfig imsg string values the same way as gotconfig ones are sent
Stefan Sperling be96c417 2020-09-17T11:51:59 fix got.conf overriding GOT_AUTHOR even if no author is set in got.conf
Christian Weisgerber 8de9818a 2020-09-14T20:12:18 remove unused #includes from the new got-read-gotconfig/parse.y ok tracey
Christian Weisgerber e12e0e21 2020-09-14T17:53:41 do not rely on <zlib.h> to pull in <unistd.h>
Christian Weisgerber 23c57b28 2020-09-11T19:44:18 Stop including <sys/syslimits.h> directly. POSIX says the limits defined there are available from <limits.h>, which almost all affected source files already included anyway. ok millert stsp
Stefan Sperling 53dfa00d 2020-09-10T19:54:33 initialize variable in got-read-gotconfig to fix SIGBUS in free(3) on sparc64
Stefan Sperling 3168e5da 2020-09-10T00:10:55 zap trailing tabs
Stefan Sperling 257add31 2020-09-09T23:57:40 add got.conf(5) configuration file ok tracey
Christian Weisgerber 78fb0967 2020-09-09T21:41:22 use the POSIX standard endian functions and explicitly include <endian.h> ok stsp
Christian Weisgerber 81a12da5 2020-09-09T19:35:32 do not rely on <zlib.h> to pull in <unistd.h> ok stsp
Christian Weisgerber 631179de 2020-07-31T14:10:44 Fix missing block grouping. ok tracey stsp
Stefan Sperling 00927983 2020-04-19T09:11:37 remove got_packidx_get_object_idx_sha1(); it is not actually needed
Stefan Sperling ded8fbb8 2020-04-19T08:57:07 include the relevant object ID in NO_OBJ error messages where possible
Stefan Sperling 3abebdc2 2020-03-24T15:24:08 make got-index-pack check the expected pack checksum passed from main process
Stefan Sperling 6ad68bce 2020-03-24T15:15:51 make got-index-pack compute and verify the pack file's SHA1 checksum
Stefan Sperling 1d72a2a0 2020-03-24T14:08:03 represent packfile hash as byte array in the privsep layer, not as object ID
Stefan Sperling dc671e91 2020-03-24T12:07:58 compute pack file's checksum during download and check it in got-fetch-pack Compared to the previous version committed in 520a0c97 this code should compute the checksum correctly for any amount of pack file data bytes read from the socket at a time.
Stefan Sperling 729743d1 2020-03-23T21:34:06 revert 520a0c97f8081e4531fc9c88cda705a92afbddaf for now due to possible bug
Stefan Sperling 520a0c97 2020-03-23T21:08:17 compute pack file's checksum during download and check it in got-fetch-pack
Stefan Sperling e70bf110 2020-03-22T17:20:18 move functions from privsep.c to the helpers which use them where possible
Stefan Sperling 0e4002ca 2020-03-21T21:49:13 add support for fetching arbitrary references to 'got clone' and 'got fetch'
Stefan Sperling 2690194b 2020-03-21T18:17:12 remove GOT_FETCH_DEBUG and toggle fetch debug output with -v option instead
Stefan Sperling 0bec957e 2020-03-21T17:28:23 close fetchfd when we're done in got-fetch-pack
Stefan Sperling 4515a796 2020-03-21T11:24:14 make 'clone -l' and 'fetch -l' list all references, regardless of namespace
Stefan Sperling 41b0de12 2020-03-21T10:18:15 add support for listing remote branches and tags to 'got clone' and 'got fetch'
Stefan Sperling 4ba14133 2020-03-20T20:23:18 add support for fetching specific branches to 'got clone' and 'got fetch'
Stefan Sperling 659e7fbd 2020-03-20T15:55:08 fetch only HEAD branch and tags by default; add -a option to fetch everything
Stefan Sperling 469dd726 2020-03-20T11:44:14 add support for repository mirrors to 'got clone' and 'got fetch'
Stefan Sperling 858b0dfb 2020-03-20T11:01:44 re-add chatty mode to got-fetch-pack; it will be useful to diagnose bugs
Stefan Sperling c20695fb 2020-03-20T10:11:43 fix off-by-one in writepkt() length parameter passed by fetch_pack()
Stefan Sperling 406106ee 2020-03-20T10:09:18 don't skip protocol capabilities advertisement if the first ref isn't wanted
Stefan Sperling f1c6967f 2020-03-19T22:43:44 fix chopped display of git-server's progress output
Stefan Sperling 3c912d14 2020-03-19T17:11:00 remove chattygit mode from got-fetch-pack
Stefan Sperling 7848a0e1 2020-03-19T16:57:27 implement 'got fetch'
Stefan Sperling d582f26c 2020-03-18T16:13:48 write large objects to disk when resolving deltas; raise in-mem delta threshold
Stefan Sperling 18d4da03 2020-03-18T16:13:46 tweak delta cache size in got-index-pack
Stefan Sperling 93bba072 2020-03-18T16:13:46 use qsort(3) instead of mergesort(3) to avoid a large spike in memory usage
Stefan Sperling 97684601 2020-03-18T16:13:46 write CRC info in one chunk rather than calling write(2) once per object
Stefan Sperling 021b0c6f 2020-03-18T16:13:46 don't forget to send a final progress notification from got-index-pack
Stefan Sperling 5672d305 2020-03-18T16:13:46 waste less time on sending progress messages over the privsep pipe
Stefan Sperling 160bbe2e 2020-03-18T16:13:46 jump right to the index of the first delta
Stefan Sperling e6c1173d 2020-03-18T16:13:46 document why deltas will usually be resolved within a single loop iteration
Stefan Sperling 4788f1ce 2020-03-18T16:13:46 extract large objects to a temporary file in got-index-pack
Stefan Sperling ec92f929 2020-03-18T16:13:45 another indentation fix
Stefan Sperling 4c06f612 2020-03-18T16:13:45 remove now pointless error check
Stefan Sperling b3e1118b 2020-03-18T16:13:45 fix indentation
Stefan Sperling f826addf 2020-03-18T16:13:45 use a dedicated imsg for sending the pack fetch output file descriptor
Stefan Sperling 73ab1060 2020-03-18T16:13:45 use a dedicated imsg for sending the pack index output file descriptor
Stefan Sperling 72054488 2020-03-18T16:13:44 ooops, re-enable offset deltas in got-fetch-pack
Stefan Sperling 964d3c5b 2020-03-18T16:13:44 increase delta cache size for got-index-pack
Stefan Sperling b102634c 2020-03-18T16:13:44 avoid magic numbers when writing pack index header in got-index-pack
Stefan Sperling 2e5a6fad 2020-03-18T16:13:44 add mmap support to got-index-pack
Stefan Sperling f63dc90d 2020-03-18T16:13:44 remove unnecessary & in read_packed_object()
Stefan Sperling 861f3006 2020-03-18T16:13:44 pledge got-index-pack
Stefan Sperling 4d0fef1d 2020-03-18T16:13:44 plug a memory leak in resolve_deltified_object()
Stefan Sperling 37ebab0a 2020-03-18T16:13:44 free objects when indexing is done
Stefan Sperling 262c582a 2020-03-18T16:13:44 allocate one large indexed object array upfront, not an array of pointers
Stefan Sperling 7cd14ea0 2020-03-18T16:13:43 plug memory leak in error path of read_packed_object()
Stefan Sperling 836f2c92 2020-03-18T16:13:43 use a union for delta-specific data in struct got_indexed_object
Stefan Sperling cbc66309 2020-03-18T16:13:43 wrap overlong lines
Stefan Sperling 0fd91daf 2020-03-18T16:13:43 populate an in-progress pack index only if ref deltas are present
Stefan Sperling 950de2cd 2020-03-18T16:13:43 avoid unnecessary memmove calls during the first indexing pass
Stefan Sperling 55fdd257 2020-03-18T16:13:43 do not buffer more data than necessary in got_inflate_to_mem_fd()
Stefan Sperling 1e87a3c3 2020-03-18T16:13:42 avoid re-reading the entirety of an object's data to calculate the CRC
Stefan Sperling 7bad1537 2020-03-18T16:13:42 make use of the large object counter inside the packidx structure
Stefan Sperling b4152680 2020-03-18T16:13:42 remove duplicated code under #if 0
Stefan Sperling 64ab7238 2020-03-18T16:13:42 remove pointless lseek() call in index_pack()
Stefan Sperling 8bb2b40c 2020-03-18T16:13:42 fix CRC values in generated pack index
Stefan Sperling c5621f1c 2020-03-18T16:13:42 enable object CRC calculation in got-index-pack
Stefan Sperling f4d0a1a4 2020-03-18T16:13:42 remove header check from got-fetch-pack; not needed
Stefan Sperling 668a20f6 2020-03-18T16:13:41 rewritten got-index-pack; sorry about the monster commit
Stefan Sperling baa9fea0 2020-03-18T16:11:33 send indexing progress via an imsg