Package: git
Version: 1:2.26.0~rc2-1
Severity: wishlist
Hi!
The main "git" package ships /usr/share/doc/git/contrib/diff-highlight .
Alas, this script is:
1. not configured for use within diff
2. in /usr/share/doc/ which no package is allowed to rely on
3. not exposed for non-git uses
It makes reading patches a lot easier.
I for one use the following wrappers someone once posted:
.--==[ ~/bin/git-hdiff ]
#!/bin/sh
exec git diff --color "$@" | exec hdiff
`----
.--==[ ~/bin/hdiff ]
#!/bin/sh
: "${DIFF_HIGHLIGHT:=/usr/share/doc/git/contrib/diff-highlight}"
exec perl -I "$DIFF_HIGHLIGHT" -MDiffHighlight --
"$DIFF_HIGHLIGHT/diff-highlight.perl" | exec less -R
`----
The former can be used instead of "git diff" as "git hdiff", the latter
is a post-processor for colordiff:
$ debdiff foo_*.dsc|colordiff|hdiff
I think it would be a good idea to make "git diff" default to this tool.
But, because of the /usr/share/doc/ thing, I can't even make a separate
package to use it.
Meow!
-- System Information:
Debian Release: bullseye/sid
APT prefers unstable-debug
APT policy: (500, 'unstable-debug'), (500, 'unstable'), (500, 'testing'),
(500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 5.6.0-rc6-00085-ge6fd0e58416e (SMP w/64 CPU cores)
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=en_US:en
(charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: sysvinit (via /sbin/init)
Versions of packages git depends on:
ii git-man 1:2.26.0~rc2-1
ii libc6 2.30-2
ii libcurl3-gnutls 7.68.0-1
ii liberror-perl 0.17029-1
ii libexpat1 2.2.9-1
ii libpcre2-8-0 10.34-7
ii perl 5.30.0-9
ii zlib1g 1:1.2.11.dfsg-2
Versions of packages git recommends:
ii ca-certificates 20190110
ii less 551-1
ii openssh-client [ssh-client] 1:8.2p1-4
ii patch 2.7.6-6
Versions of packages git suggests:
ii gettext-base 0.19.8.1-10
pn git-cvs <none>
pn git-daemon-run | git-daemon-sysvinit <none>
pn git-doc <none>
pn git-el <none>
ii git-email 1:2.26.0~rc2-1
pn git-gui <none>
pn git-mediawiki <none>
pn git-svn <none>
pn gitk <none>
pn gitweb <none>
-- no debconf information