Commits


remove the symlink conflict header feature; it causes noise for little benefit


rename get_symlink_status() to get_symlink_modification_status() for clarity


use a shortcut in get_file_status() for detecting symlinks appearing on disk


move deeply indented code from unstage_path() to a new unstage_hunks() helper


make 'got unstage -p' work with symlinks


remove merge_blob() fallback from merge_symlink(); let callers handle this


stop reinstalling symlinks after commit; 'got update' can handle that


forbid bad symlinks; add -S option to 'got commit' and 'got stage' to allow them


put checks for bad symlink target paths into a dedicated function


make 'got unstage' work with symlinks


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.


add support for symlinks to 'got revert -p'


make 'got stage -p' work with symlinks


fix wrong function name in an error message


set a staged file type and handle it separately from the on-disk file type


make staging of symlinks work


remove pointless error checking in got_fileindex_entry_filetype_set()


fix 'got revert' progress output for symlinks


handle additional symlink conflicts and report skipping of unversioned files


preserve unversioned files when merging added symlinks


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.


give bad symlinks a dedicated file type in the file index


use default file permissions when installing "bad" symlinks


resolve an XXX remark in merge_file_cb()


test_cherrypick_symlink_conflicts forgot to run 'got add' on a file; fix this