Commits


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


initialize output parameter of got_object_blob_read_to_str(); found by ofree


fix wrong test result check in revert.sh symlink test


fix missing return statements in revert.sh symlink test failure cases


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