From: Stefan Sperling Subject: Re: got diff vs .gitignore To: Omar Polo Cc: gameoftrees@openbsd.org Date: Thu, 10 Feb 2022 17:22:11 +0100 On Thu, Feb 10, 2022 at 04:59:38PM +0100, Omar Polo wrote: > just a curiosity: there's a reason to delay the ignore check after the > lstat and not just after got_fileindex_entry_get? My reasoning is that > if got_fileindex_entry_get doesn't find anything then the file is not in > the repository and we can honour the `no_ignore' flag without even > caring to stat it. (I'm not familiar enough with how the worktree is > managed thought, so I'm probably missing something) There are some status consumers which look for the NONEXISTENT status value, such as 'got rm' (deleting a non-existent file is a no-op). If we skip the stat call then the status walk cannot provide NONEXISTENT, and such consumers would then have similar issues like the one you found in 'got diff'.