lib


Log

Author Commit Date CI Message
Stefan Sperling 559d127c 2020-07-23T15:07:52 errant tab found by tracey
Stefan Sperling 283102fc 2020-07-23T14:22:41 remove the symlink conflict header feature; it causes noise for little benefit
Stefan Sperling 36bf999c 2020-07-23T14:22:40 make 'got unstage -p' work with symlinks
Stefan Sperling aa092692 2020-07-23T14:22:40 initialize output parameter of got_object_blob_read_to_str(); found by ofree
Stefan Sperling f9eec9d5 2020-07-23T14:22:40 rename get_symlink_status() to get_symlink_modification_status() for clarity
Stefan Sperling f179e66d 2020-07-23T14:22:40 use a shortcut in get_file_status() for detecting symlinks appearing on disk
Stefan Sperling dfe9fba0 2020-07-23T14:22:40 remove merge_blob() fallback from merge_symlink(); let callers handle this
Stefan Sperling fda8017d 2020-07-23T14:22:40 move deeply indented code from unstage_path() to a new unstage_hunks() helper
Stefan Sperling 75f0a0fb 2020-07-23T14:22:39 stop reinstalling symlinks after commit; 'got update' can handle that
Stefan Sperling 35213c7c 2020-07-23T14:22:39 forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them
Stefan Sperling ea7786be 2020-07-23T14:22:38 make 'got unstage' work with symlinks
Stefan Sperling b7422a2f 2020-07-23T14:22:38 stop using realpath(3) to resolve a symlink target in install_symlink() We should not resolve a symlink target path recursively when installing a symlink in the work tree. We want to handle this symlink's target, not the end result of following a chain of symlinks in case such links already exist.
Stefan Sperling 369fd7e5 2020-07-23T14:22:38 add support for symlinks to 'got revert -p'
Stefan Sperling 3c1ec782 2020-07-23T14:22:38 put checks for bad symlink target paths into a dedicated function
Stefan Sperling fa3cef63 2020-07-23T14:22:37 make 'got stage -p' work with symlinks
Stefan Sperling b448fd00 2020-07-23T14:22:37 fix wrong function name in an error message
Stefan Sperling 0aeb8099 2020-07-23T14:22:37 set a staged file type and handle it separately from the on-disk file type
Stefan Sperling c631b115 2020-07-23T14:22:36 make staging of symlinks work
Stefan Sperling cf34e6e7 2020-07-23T14:22:36 mark functions which are not exposed to other files as static
Stefan Sperling 4723f050 2020-07-23T14:22:36 more fixes for setting/getting file index entry filetype and permissions
Stefan Sperling 6131ab45 2020-07-23T14:22:36 remove pointless error checking in got_fileindex_entry_filetype_set()
Stefan Sperling 984c073d 2020-07-23T14:22:36 add getter/setter for staged file index entry filetype
Stefan Sperling c90c8ce3 2020-07-23T14:22:35 preserve unversioned files when merging added symlinks
Stefan Sperling 65b05cec 2020-07-23T14:22:35 add an output argument to create_fileindex_entry() Avoids a pointless search of the file index in the case the caller needs to use the newly created file entry.
Stefan Sperling f5f1f9c2 2020-07-23T14:22:35 handle on-disk file index entry filetypes properly
Stefan Sperling 1e0a3718 2020-07-23T14:22:35 reserve some file entry mode bits for a staged file type
Stefan Sperling 6e1eade5 2020-07-23T14:22:35 fix 'got revert' progress output for symlinks
Stefan Sperling 3b9f0f87 2020-07-23T14:22:35 handle additional symlink conflicts and report skipping of unversioned files
Stefan Sperling 2e1fa222 2020-07-23T14:22:34 give bad symlinks a dedicated file type in the file index
Stefan Sperling b88d214a 2020-07-23T14:22:34 use default file permissions when installing "bad" symlinks
Stefan Sperling ef8d6031 2020-07-23T14:22:34 keep file index entry permission bits clear for symlinks
Stefan Sperling 960094b4 2020-07-23T14:22:34 resolve an XXX remark in merge_file_cb()
Stefan Sperling d219f183 2020-07-23T14:22:34 test_cherrypick_symlink_conflicts forgot to run 'got add' on a file; fix this
Stefan Sperling e8863bdc 2020-07-23T14:22:33 add symlink support to 'got import'
Stefan Sperling 993e2a1b 2020-07-23T14:21:31 handle symlink deletion and symlink conflicts during 'got update'
Stefan Sperling 56d815a9 2020-07-23T14:21:31 We must null-terminate the result of readlink(3) in merge_symlink().
Stefan Sperling 11cc08c1 2020-07-23T14:21:31 handle symlink conflicts by installing a file that contains conflict markers
Stefan Sperling 526a746f 2020-07-23T14:21:31 handle newly added symlinks during 'got cherrypick'
Stefan Sperling 5a1fbc73 2020-07-23T14:21:30 make it possible to fix "bad" symlinks with ln -sfh + got commit + got update
Stefan Sperling bd6aa359 2020-07-23T14:21:30 convert bad symlinks to regular files during 'got commit'
Stefan Sperling 2f63b34c 2020-07-23T14:21:30 restore 8k buffer size for hashing file contents in got_object_blob_create()
Stefan Sperling 3d9a4ec4 2020-07-23T14:21:30 add symlink support to 'got commit'
Stefan Sperling af57b12a 2020-07-23T14:21:30 add symlink support to 'got cherrypick'; test non-conflict cases only for now
Stefan Sperling 40dde666 2020-07-23T14:21:29 add support for symlinks in the repository to 'got diff'
Stefan Sperling 7d61d891 2020-07-23T14:21:29 fix checkout of symlinks when a relative work tree path is given
Stefan Sperling 906c123b 2020-07-23T14:21:29 do not allow symlinks pointing into the .got directory; noticed by semarie
Stefan Sperling b15bc87b 2020-07-23T14:21:29 fix memory leak in install_symlink() error path; spotted by semarie
Stefan Sperling ef68ca6f 2020-07-23T14:21:29 add missing dirname(3) error check; found by semarie
Stefan Sperling e40622f4 2020-07-23T14:21:28 add got_object_tree_entry_is_symlink() and got_object_resolve_symlinks()
Stefan Sperling 659dc16e 2020-07-23T14:21:28 skip the blob header in got_tree_entry_get_symlink_target()
Stefan Sperling 32596e16 2020-07-23T14:21:28 fix got_tree_entry_get_symlink_target() in case of multiple loop iterations
Stefan Sperling f8f7c882 2020-07-23T14:21:28 fix buffer overflow in got_tree_entry_get_symlink_target()
Stefan Sperling a919d5c4 2020-07-23T14:21:27 make 'got rm' work on symlinks; test case written by tracey
Stefan Sperling 00bb5ea0 2020-07-23T14:21:27 make 'got add' work on symlinks and let 'got status' display them
Stefan Sperling f35fa46a 2020-07-23T14:21:27 add symlink support to 'got update'
Stefan Sperling 0ab20ee9 2020-07-23T14:21:27 fix handling of symlinks to a nonexistent target
Stefan Sperling 8ba819a3 2020-07-23T14:21:27 let 'got checkout' create symlinks in a work tree
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)