lib/fetch.c


Log

Author Commit Date CI Message
Stefan Sperling 16aeacf7 2020-11-26T12:54:19 use size_t for loop indices to avoid signedness warnings; from emaste@freebsd
Sebastien marie 0843a4ce 2020-10-31T04:54:20 use fchmod(2) instead of chmod(2). it is less racy, and we just opened the descriptor. ok naddy@ stsp@
Stefan Sperling f8c47409 2020-10-28T15:52:46 fix permissions mode bits for fetched pack files; patch by Alisdair MacLeod
Stefan Sperling e03cc834 2020-09-24T16:47:06 handle failed connection attempts to git:// servers; patch by jrick
Stefan Sperling 66cb1a7f 2020-09-24T13:45:36 strip trailing slashes from repository path in got_fetch_parse_uri()
Stefan Sperling 0921e08f 2020-09-24T10:49:36 remove redundant leading slashes from repository path when parsing URIs
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
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
Sebastien marie 59d5e252 2020-04-21T17:51:05 don't override port configuration with explicit argument if the url doesn't contains it it permits to .ssh/config to be honored same diff from stsp@
Stefan Sperling 465971ee 2020-03-24T15:32:54 stop verifying pack file checksum in the main process during clone/fetch Both got-fetch-pack and got-index-pack now verify the pack file checksum. This means we can avoid reading the entire pack file in the main process just to verify its checksum and avoid a noticable stall between fetching and indexing on slow machines.
Stefan Sperling 1d72a2a0 2020-03-24T14:08:03 represent packfile hash as byte array in the privsep layer, not as object ID
Stefan Sperling 92dc95a8 2020-03-24T14:07:59 always initialize pack hash output parameter of got_fetch_pack()
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 393fb88d 2020-03-21T17:28:29 handle reference-only updates in 'got fetch' where server sends an empty pack
Stefan Sperling 9c52365f 2020-03-21T10:37:19 properly terminate the ssh process after fetching via SSH
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 62a4c94c 2020-03-20T15:01:15 support non-default port numbers with SSH and tweak URI parser port handling
Stefan Sperling 469dd726 2020-03-20T11:44:14 add support for repository mirrors to 'got clone' and 'got fetch'
Stefan Sperling 76911fd2 2020-03-19T23:02:36 allow 'got fetch' to operate on a non-bare git repository
Stefan Sperling f1c6967f 2020-03-19T22:43:44 fix chopped display of git-server's progress output
Stefan Sperling 7848a0e1 2020-03-19T16:57:27 implement 'got fetch'
Stefan Sperling 9a682fbe 2020-03-19T14:43:38 add support for Git's SCP style URLs to got_fetch_parse_uri()
Stefan Sperling 68999b92 2020-03-18T16:13:48 allow controlling verbosity of 'got clone' with -q and -v options
Stefan Sperling 3af5bc7c 2020-03-18T16:13:48 do not allow passing arbitrary options to SSH
Stefan Sperling 967f7d1f 2020-03-18T16:13:48 remove unused constants
Stefan Sperling d582f26c 2020-03-18T16:13:48 write large objects to disk when resolving deltas; raise in-mem delta threshold
Stefan Sperling ee448f5f 2020-03-18T16:13:47 apply unveil(2) to 'got clone'
Stefan Sperling a117fd10 2020-03-18T16:13:46 make addrinfo error messages more obvious
Stefan Sperling 4788f1ce 2020-03-18T16:13:46 extract large objects to a temporary file in got-index-pack
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 12491971 2020-03-18T16:13:45 show path to temporary pack file in argv of got-fetch-pack and got-index-pack
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
Stefan Sperling 85e8591f 2020-03-18T16:11:32 in got_fetch_pack, use a separate set of variables for fetching and indexing
Stefan Sperling 849f7557 2020-03-18T16:11:32 check pack file hash in the main process
Stefan Sperling d2cdc636 2020-03-18T16:11:32 send pack file download progress information over imsg
Stefan Sperling 531c3985 2020-03-18T16:11:32 add support for git protocol sidebands and display server progress
Stefan Sperling 33501562 2020-03-18T16:11:30 prepare for providing refs we already have in fetch request imsg currently we always send and expect an empty list
Stefan Sperling ceee4c0f 2020-03-18T16:11:28 remove unused arguments from got_fetch_pack()
Stefan Sperling 07e52fce 2020-03-18T16:11:27 rename got_fetch() to got_fetch_pack()
Stefan Sperling 20eb36d0 2020-03-18T16:11:27 attempt to connect to a server before creating a local repo
Stefan Sperling 66cba96f 2020-03-18T16:11:27 use GOT_OBJECTS_PACK_DIR instead of variants of the same which contain typos
Stefan Sperling d9b4d0c0 2020-03-18T16:11:27 make got_fetch() provide reference info to callers and set refs in cmd_clone()
Stefan Sperling bb64b798 2020-03-18T16:11:26 have got_fetch() require an open got_repository to be passed in
Stefan Sperling 09838ffc 2020-03-18T16:11:26 make got_fetch() expect URI information in parsed form
Stefan Sperling 82ebf666 2020-03-18T16:10:34 tweak parse_uri() function, declare it as public API, and add a test for it
Stefan Sperling ee61b6d3 2020-03-18T16:10:33 make 'got clone' create references; cloned repositories are now usable
Stefan Sperling 8e278d17 2020-03-18T16:10:33 plug leaks in error paths of got_fetch()
Stefan Sperling abe0f35f 2020-03-18T16:10:33 parse symrefs from server capabilities and transmit them over imsg
Stefan Sperling 4312a498 2020-03-18T16:10:32 send the 'host' parameter to support git-daemon's virtual hosting
Stefan Sperling 75fd4eb2 2020-03-18T16:10:32 actually catch connection errors in got_fetch()
Stefan Sperling 5cc27ede 2020-03-18T16:10:32 make protocol dial helpers return struct got_error style errors
Stefan Sperling 8f2d01a6 2020-03-18T16:10:32 send fetch progress over imsg
Stefan Sperling 84f2fa52 2020-03-18T16:10:32 rename got_clone() to got_fetch()
Stefan Sperling afa77e03 2020-03-18T16:10:31 actually create a pack and an index in the right place
Stefan Sperling 279090e1 2020-03-18T16:10:31 pass an object_id * to got_privsep_send_index_pack_req()
Stefan Sperling 22b6b490 2020-03-18T16:10:31 add a .git suffix to cloned repositories by default
Stefan Sperling a251e40e 2020-03-18T16:10:31 GOT_IMSG_ACK isn't needed; just fill the pipe, reading responses will block
Stefan Sperling fe4e1501 2020-03-18T16:10:30 use got_opentemp_named_fd() instead of open() for tempfiles in got_clone()
Stefan Sperling 93658fb9 2020-03-18T16:10:30 Add initial support for network protocol. Ported from git9 by Ori Bernstein.