I see that refresh() of update_index.c calls setup_work_tree() to change dir to working tree. And the dir is not changed back to git dir before commit_lock_file() or rollback_lock_file() is called. So, commit_lock_file() rename file failed. or rollback_lock_file() delete file failed. -- View this message in context: http://git.661346.n2.nabble.com/git-update-index-not-delete-lock-file-when-using-different-worktree-tp7615300p7615306.html Sent from the git mailing list archive at Nabble.com. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html