Subject: [PATCH v2] diff-highlight: make install link into DESTDIR #Makefile

From: "immeëmosol via GitGitGadget" <[email-masked]>
Date: Sat, 12 Oct 2024 17:30:30 +0000

From: =?UTF-8?q?imme=C3=ABmosol?= <[email-masked]>

Make git's diff-highlight program immediately available to the command-line.
Create a link in DESTDIR that
refers to the generated/concatenated diff-highlight perl script

Signed-off-by: immeëmosol <[email-masked]>
---
    add symlinking diff-highlight into DESTDIR

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-938%2Fimme-emosol%2Fpatch-1-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-938/imme-emosol/patch-1-v2
Pull-Request: https://github.com/git/git/pull/938

Range-diff vs v1:

 1:  e23aeb1a76c ! 1:  ca76f336ded diff-highlight: link to diff-highlight in DESTDIR #Makefile #diff-highlight
     @@ Metadata
      Author: immeëmosol <[email-masked]>
      
       ## Commit message ##
     -    diff-highlight: link to diff-highlight in DESTDIR #Makefile #diff-highlight
     +    diff-highlight: make install link into DESTDIR #Makefile
      
          Make git's diff-highlight program immediately available to the command-line.
          Create a link in DESTDIR that
     @@ Commit message
      
       ## contrib/diff-highlight/Makefile ##
      @@ contrib/diff-highlight/Makefile: diff-highlight: shebang.perl DiffHighlight.pm diff-highlight.perl
     - 	cat $^ >$@+
       	chmod +x $@+
       	mv $@+ $@
     -+	ln --symbolic --target-directory=$(DESTDIR) $(abspath $@)
       
     ++install: diff-highlight
     ++	test -w $(DESTDIR) && \
     ++		ln --symbolic --target-directory=$(DESTDIR) $(abspath $<)
     ++
       shebang.perl: FORCE
       	@echo '#!$(PERL_PATH_SQ)' >$@+
     + 	@cmp $@+ $@ >/dev/null 2>/dev/null || mv $@+ $@
      @@ contrib/diff-highlight/Makefile: test: all
     + 	$(MAKE) -C t
       
       clean:
     ++	test ! -L $(DESTDIR)/diff-highlight || \
     ++		$(RM) --force $(DESTDIR)/diff-highlight
       	$(RM) diff-highlight
     -+	$(RM) --force $(DESTDIR)diff-highlight
       
       .PHONY: FORCE
     ++.PHONY: install

 contrib/diff-highlight/Makefile | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/contrib/diff-highlight/Makefile b/contrib/diff-highlight/Makefile
index f2be7cc9243..19e0cf17ccd 100644
--- a/contrib/diff-highlight/Makefile
+++ b/contrib/diff-highlight/Makefile
@@ -10,6 +10,10 @@ diff-highlight: shebang.perl DiffHighlight.pm diff-highlight.perl
 	chmod +x $@+
 	mv $@+ $@
 
+install: diff-highlight
+	test -w $(DESTDIR) && \
+		ln --symbolic --target-directory=$(DESTDIR) $(abspath $<)
+
 shebang.perl: FORCE
 	@echo '#!$(PERL_PATH_SQ)' >$@+
 	@cmp $@+ $@ >/dev/null 2>/dev/null || mv $@+ $@
@@ -18,6 +22,9 @@ test: all
 	$(MAKE) -C t
 
 clean:
+	test ! -L $(DESTDIR)/diff-highlight || \
+		$(RM) --force $(DESTDIR)/diff-highlight
 	$(RM) diff-highlight
 
 .PHONY: FORCE
+.PHONY: install

base-commit: ef8ce8f3d4344fd3af049c17eeba5cd20d98b69f
-- 
gitgitgadget