Intents to add are a tricky part of the system; I fixed them up some time ago for `add -p` which uses apply.c machinery, but not for `apply -N`, which seems to have never worked since its introduction in Git 2.19. To recap how this all works, apply has three modes: with no flag, it applies a diff to the physical files in the worktree; with --index it applies a diff to both the physical files in the worktree and to the index, and with --cached it applies to the index but *not* the physical files in the worktree. --intent-to-add / -N is intended to apply only to the first of these modes; this makes sense, because an intent to add is meant to behave like a diff not added to the index. However, the intent to add lives in the index; Git just behaves as though it were a worktree change not in the index. The behavior `apply -N` actually exhibits is that it clobbers the index with a new index containing *only* the contents of the diff, nothing else; my guess is that it was only tested against repositories with entirely empty trees. If the tree is not empty, then of course an index with only the intent to add and nothing else shows up as every file in the tree being deleted. The patch discussed here (the headers for the thread seem broken, but the message id is <20211106114202.3486969-1-aclopte@xxxxxxxxx>) does seem like a mostly complete fix for the issue. However, the message is entirely wrong and confused about how any of this works, which is likely why the patch fell through the cracks. (Of course --intent-to-add can't imply --index, they are mutually exclusive options.) However, the code appears entirely correct. The combination of --cached with -N doesn't work, despite the message claiming it does, but it can't possibly work because it includes the file in the index, so it can't include it as an intent to add in the index. So this just merits a note that --intent-to-add is mutually exclusive with both --index and --cached. If the original author (Johannes Altmanninger) isn't around or doesn't want to, I can clean this patch up for resubmission.