lib


Log

Author Commit Date CI Message
Stefan Sperling 20ccae39 2020-07-21T14:19:32 cope with directory entries returned from readdir(3) with type DT_UNKNOWN Such directory entries need special handling to make our directory traversal code work on filesystems that do not support the d_type optimization. I found this problem because references stored in the refs/ directory were not shown by 'got log' and 'tog log' when a repository is mounted over NFS. helpful feedback + ok millert@
Stefan Sperling 3665fce0 2020-07-13T12:58:54 display affected file path in ERR_FILE_OBSTRUCTED error messages
Stefan Sperling ecd6d584 2020-06-27T15:20:28 fix definition of the GOT_FILEIDX_MODE_PERMS bitmask
Stefan Sperling b737c85a 2020-06-26T10:10:52 fix endless loop introduced in 3143d852; programming is hard!
Stefan Sperling 21c17f12 2020-06-26T07:09:35 fix merging with files that do not contain a newline character; ok millert@
Stefan Sperling 3143d852 2020-06-25T06:53:54 fix ignores when a path is passed to 'got status' Problem reported by semarie, who also provided initial regression test code. ok semarie
Stefan Sperling 054041d0 2020-06-24T17:15:00 replace the update_blob_fileindex_entry() helper function This makes it easier to tell in which code paths we are expecting to handle a potential 'ie' NULL pointer and avoids a pointless search of the file index.
Stefan Sperling 5a58a424 2020-06-23T16:10:01 plug a memory leak in delete_blob()
Stefan Sperling 2c2d5c5f 2020-06-07T11:51:19 show paths in blame.c GOT_ERR_OBJ_TYPE error messages
Stefan Sperling 0553429d 2020-06-07T09:25:08 fix symlink check in got_fileindex_entry_update()
Stefan Sperling 0d6c6ee3 2020-05-20T17:37:29 make 'got/tog tree' show symlink targets like 'ls -lF' does: link@ -> target
Stefan Sperling 7aadece8 2020-05-17T08:23:19 allow creation of commits which carry unmodified submodule tree entries along approach suggested by ori@ and matches how git9 behaves ok semarie@ (who can now work with Rust-related Git repos containing submodules)
Stefan Sperling aaffadfc 2020-05-05T15:26:11 write directory tree entry mode bits in the same way as Git does
Stefan Sperling ac5f2b26 2020-05-05T15:26:11 normalize file mode bits to avoid false positive tree entry differences
Stefan Sperling 0208f208 2020-05-05T09:53:57 show a list of paths changed in a commit with 'got log -P', and in tog requested by matthieu@
Stefan Sperling 8bd8568c 2020-04-24T16:23:39 remove file index entries from RB tree upon flush to disk Fixes a file index corruption problem with 'got rebase' found by tracey. ok tracey
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 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 86d8a25a 2020-04-19T08:57:07 show bad ID in "object not found" error from got_repo_match_object_id_prefix()
Stefan Sperling 5036ab18 2020-04-18T18:40:00 make 'got update' skip conflicted files ok millert@
Stefan Sperling f7b97ccb 2020-04-14T11:37:39 normalize tree entry modes to 0100644 or 0100755 when writing tree objects semarie@ reported an error from go-git used by Cirrus CI: "57243613255d758e15b0f5ae1c960b970f0435f8: malformed mode (0100640)!" 'git fsck' has no problem with mode 0100640. But writing just the two most commonly used file modes should provide the best compatibility.
Stefan Sperling d7b899ab 2020-03-25T15:55:22 fix got_ref_change_symref(); it changed the ref's name instead of its target
Stefan Sperling 75236079 2020-03-25T14:30:15 handle refs/remotes/origin/HEAD properly; reported by Matthias aka _xhr_
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 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 92dc95a8 2020-03-24T14:07:59 always initialize pack hash output parameter of got_fetch_pack()
Stefan Sperling fd251256 2020-03-24T14:07:58 rename an argument of got_privsep_send_index_pack_req() for clarity
Stefan Sperling e70bf110 2020-03-22T17:20:18 move functions from privsep.c to the helpers which use them where possible
Stefan Sperling 678ade17 2020-03-22T15:44:34 don't error out if rebase sees no merged paths; elide the commit instead
Stefan Sperling ba580f68 2020-03-22T15:08:33 prevent 'got commit' from comitting empty sub-directories; found by tracey
Stefan Sperling b2070a3f 2020-03-22T14:21:07 allow for limiting output of 'got ref -l' to a single ref or a namespace
Stefan Sperling e8a967e0 2020-03-21T22:44:07 make replacing symrefs actually work in 'got fetch'
Stefan Sperling 9f142382 2020-03-21T22:06:00 properly lock references when 'got fetch' needs to update them
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 2fb669fb 2020-03-20T20:23:18 initialize optional output parameters in parse_gitconfig_file()
Stefan Sperling 5146eb39 2020-03-20T20:23:18 fix allocation size in got_privsep_recv_gitconfig_remotes(); found by free(3)
Stefan Sperling fe6043b8 2020-03-20T19:03:29 transmit the 'mirror' flag correctly in got_privsep_send_gitconfig_remotes()
Stefan Sperling 83310ac9 2020-03-20T18:43:58 fix bug where duplicates were returned from got_gitconfig_get_section_list()
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 58e1925a 2020-03-20T13:32:07 fix wrong sizeof in got_privsep_send_fetch_req()
Stefan Sperling 469dd726 2020-03-20T11:44:14 add support for repository mirrors to 'got clone' and 'got fetch'
Stefan Sperling b364b1c2 2020-03-20T11:22:35 fix typos in error messages
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 5a489642 2020-03-19T16:56:51 initialize pack file size output paramter of got_privsep_recv_fetch_progress()
Stefan Sperling 9a682fbe 2020-03-19T14:43:38 add support for Git's SCP style URLs to got_fetch_parse_uri()
Stefan Sperling f68a7890 2020-03-19T09:07:46 make got_ref_list() work on a fresh repository created with got_repo_init()
Stefan Sperling 92a89269 2020-03-18T17:46:28 remove an unused file
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 b46f3e71 2020-03-18T16:13:47 create a git config file in newly cloned repositories
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 2e5a6fad 2020-03-18T16:13:44 add mmap support to got-index-pack
Stefan Sperling 55fdd257 2020-03-18T16:13:43 do not buffer more data than necessary in got_inflate_to_mem_fd()
Stefan Sperling 5eddcd60 2020-03-18T16:13:42 fix endless loop from 9c2cfea6 if decompressed data exceeds buffer size
Stefan Sperling 1e87a3c3 2020-03-18T16:13:42 avoid re-reading the entirety of an object's data to calculate the CRC
Stefan Sperling 668a20f6 2020-03-18T16:13:41 rewritten got-index-pack; sorry about the monster commit
Stefan Sperling 2decf4c6 2020-03-18T16:13:41 make output buffer optional for got_inflate_to_mem{,_fd}()
Stefan Sperling 3ab5e33c 2020-03-18T16:13:41 add optional 'consumed' output parameter to got_inflate_to_mem_fd()
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 ea7396b9 2020-03-18T16:11:32 rename imsg FETCH_PROGRESS to FETCH_REF
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 6fb3a497 2020-03-18T16:11:29 add optional 'consumed' output parameter to got_inflate_to_mem()
Stefan Sperling 4b570209 2020-03-18T16:11:28 revert a change to inflate_read() from Ori's patch; it breaks got-read-blob
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 d45e6863 2020-03-18T16:10:33 fix typo in comment
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