commit f179e66de44d3541fbbcf6be9a5bcc70465f0bc9 from: Stefan Sperling date: Thu Jul 23 14:22:40 2020 UTC use a shortcut in get_file_status() for detecting symlinks appearing on disk commit - fda8017d0d1d1314b68ea9776bb563c2ea127f3e commit + f179e66de44d3541fbbcf6be9a5bcc70465f0bc9 blob - 33605c9d4c23c5866ad26029575621e9dfba0237 blob + 1bf520b11e2220ac93d5ee4e22b8879d89fb8c1d --- lib/worktree.c +++ lib/worktree.c @@ -1719,7 +1719,13 @@ get_file_status(unsigned char *status, struct stat *sb } if (!stat_info_differs(ie, sb)) + goto done; + + if (S_ISLNK(sb->st_mode) && + got_fileindex_entry_filetype_get(ie) != GOT_FILEIDX_MODE_SYMLINK) { + *status = GOT_STATUS_MODIFY; goto done; + } if (staged_status == GOT_STATUS_MODIFY || staged_status == GOT_STATUS_ADD)