git-jump: ignore deleted files in diff modejk/jump-quickfix-fixes
commit083b82544d6e5b27a4b3fa7f105ba330f490227b
authorJeff King <peff@peff.net>
Sun, 15 Sep 2024 11:20:24 +0000 (15 07:20 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 16 Sep 2024 16:20:46 +0000 (16 09:20 -0700)
tree0231833a1b68f5326cfad728a7c7dc0b308e7afb
parent9f5978e7778843bb729baef121c92f98bd187044
git-jump: ignore deleted files in diff mode

If you do something like this:

  rm file_a
  echo change >file_b
  git jump diff

then we'll generate two quickfix entries for the diff, one for each
file. But the one for the deleted file is rather pointless. There's no
content to show since the file is gone, and in fact we open the editor
with the path /dev/null!

In vim, at least, the result is a confusing annoyance: the editor opens
with an empty buffer, and you have to skip past it to the useful
quickfix entry (after scratching your head and figuring out that no,
nothing is broken).

Let's skip such entries entirely. There's nothing useful to show, since
the point is that the file has been deleted.

It is possible that you could be doing a diff whose post-image is not
the working tree, and then you'd perhaps be jumping to the deleted
content (or at least something that was in the same spot). But I don't
think it's worth worrying about that case. For one thing, using git-jump
for such diffs is a bad idea in general, as it's going to sometimes move
you to the wrong spot. And two, a deletion is always going to have one
hunk starting at line 1, which is not that interesting to jump to in the
first place.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/git-jump/git-jump