dandavison / delta

A syntax-highlighting pager for git, diff, grep, and blame output
https://dandavison.github.io/delta/
MIT License
21.34k stars 359 forks source link

šŸ› Delta sometimes duplicates diff entries #1645

Closed ErrrorMaxx closed 4 months ago

ErrrorMaxx commented 4 months ago

Result of diff:

diff --git a/.config/cygmoi/chezmoi.yaml b/.config/cygmoi/chezmoi.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e599654dd661f7db269f2190ab7e4d82828a23d6
--- /dev/null
+++ b/.config/cygmoi/chezmoi.yaml
@@ -0,0 +1,1 @@
+sourceDir: /root/.local/share/chezmoi/home
diff --git a/.gnupg/pubring.kbx b/.gnupg/pubring.kbx
index d3e20dd989633f001cfbae9e97abb7867a2d6c67..dc82a6012b1811038b0582698951ec75155a5506 100600
Binary files a/.gnupg/pubring.kbx and b/.gnupg/pubring.kbx differ

When this diff is piped to delta, then result is:

$ delta --no-gitconfig < file

added: .config/cygmoi/chezmoi.yaml
ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€

ā”€ā”€ā”€ā”
1: ā”‚
ā”€ā”€ā”€ā”˜
sourceDir: /root/.local/share/chezmoi/home

Binary files a/.gnupg/pubring.kbx and b/.gnupg/pubring.kbx differ
ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€

added: .config/cygmoi/chezmoi.yaml
ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€

As you can see, added: .config/cygmoi/chezmoi.yaml is somehow listed two times, while in diff it is not.

If I remove diff of .gnupg/pubring.kbx from diff result, then there is no duplicate entries:

$ delta --no-gitconfig < file

added: .config/cygmoi/chezmoi.yaml
ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€

ā”€ā”€ā”€ā”
1: ā”‚
ā”€ā”€ā”€ā”˜
sourceDir: /root/.local/share/chezmoi/home
$ delta --version
delta 0.16.5
dandavison commented 4 months ago

Thanks @ErrrorMaxx this was fixed recently by @imbrish in #1629 (in main branch, so not released yet)