Commits


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


mark functions which are not exposed to other files as static


more fixes for setting/getting file index entry filetype and permissions


remove pointless error checking in got_fileindex_entry_filetype_set()


add getter/setter for staged file index entry filetype


handle on-disk file index entry filetypes properly


reserve some file entry mode bits for a staged file type


add a test for 'got revert' with symlinks


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


keep file index entry permission bits clear for symlinks


restore unversioned file test case in test_cherrypick_symlink_conflicts One part of current behaviour is to delete an unversioned file and replace it with a symlink; that's very bad in case the user wants to keep the file.


resolve an XXX remark in merge_file_cb()