diff options
author | Jeff King <peff@peff.net> | 2017-06-15 12:30:55 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-06-15 12:15:58 -0700 |
commit | 0c977dbc8180892af42d7ab9235fd3e51d6c4078 (patch) | |
tree | d862933d6139b2a33d9c0f282aa73e8986dfd0a9 /contrib/diff-highlight/Makefile | |
parent | fd99e2bda0ca6a361ef03c04d6d7fdc7a9c40b78 (diff) | |
download | git-jk/diff-highlight-module.tar.gz |
diff-highlight: split code into modulejk/diff-highlight-module
The diff-so-fancy project is also written in perl, and most
of its users pipe diffs through both diff-highlight and
diff-so-fancy. It would be nice if this could be done in a
single script. So let's pull most of diff-highlight's code
into its own module which can be used by diff-so-fancy.
In addition, we'll abstract a few basic items like reading
from stdio so that a script using the module can do more
processing before or after diff-highlight handles the lines.
See the README update for more details.
One small downside is that the diff-highlight script must
now be built using the Makefile. There are ways around this,
but it quickly gets into perl arcana. Let's go with the
simple solution. As a bonus, our Makefile now respects the
PERL_PATH variable if it is set.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'contrib/diff-highlight/Makefile')
-rw-r--r-- | contrib/diff-highlight/Makefile | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/contrib/diff-highlight/Makefile b/contrib/diff-highlight/Makefile index 9018724524..fbf5c58249 100644 --- a/contrib/diff-highlight/Makefile +++ b/contrib/diff-highlight/Makefile @@ -1,5 +1,20 @@ -# nothing to build -all: +all: diff-highlight -test: +PERL_PATH = /usr/bin/perl +-include ../../config.mak + +PERL_PATH_SQ = $(subst ','\'',$(PERL_PATH)) + +diff-highlight: shebang.perl DiffHighlight.pm diff-highlight.perl + cat $^ >$@+ + chmod +x $@+ + mv $@+ $@ + +shebang.perl: FORCE + @echo '#!$(PERL_PATH_SQ)' >$@+ + @cmp $@+ $@ >/dev/null 2>/dev/null || mv $@+ $@ + +test: all $(MAKE) -C t + +.PHONY: FORCE |