Code

Makefile: make hard/symbolic links for non-builtins too
authorBrandon Casey <drafnel@gmail.com>
Fri, 23 Jul 2010 17:50:45 +0000 (12:50 -0500)
committerJunio C Hamano <gitster@pobox.com>
Mon, 26 Jul 2010 05:33:34 +0000 (22:33 -0700)
To conserve space/improve file caching we try to make hard or symbolic links
from each builtin program to the main git executable rather than having
each be a complete duplicate copy of it.  We weren't doing this for the
non-builtin programs though.  So, just because we can, and because it's
easy, and for completeness sake, let's do it.

Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Reviewed-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile

index d725c1532f2605bcf1c71dc2735bd2b3b7d1f515..17c91301b549f055d07cb24a073f83048fc03c52 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -2075,10 +2075,13 @@ endif
        bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \
        execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \
        { test "$$bindir/" = "$$execdir/" || \
-               { $(RM) "$$execdir/git$X" && \
+         for p in git$X $(filter $(install_bindir_programs),$(ALL_PROGRAMS)); do \
+               $(RM) "$$execdir/$$p" && \
                test -z "$(NO_CROSS_DIRECTORY_HARDLINKS)" && \
-               ln "$$bindir/git$X" "$$execdir/git$X" 2>/dev/null || \
-               cp "$$bindir/git$X" "$$execdir/git$X"; } ; } && \
+               ln "$$bindir/$$p" "$$execdir/$$p" 2>/dev/null || \
+               cp "$$bindir/$$p" "$$execdir/$$p" || exit; \
+         done; \
+       } && \
        for p in $(filter $(install_bindir_programs),$(BUILT_INS)); do \
                $(RM) "$$bindir/$$p" && \
                ln "$$bindir/git$X" "$$bindir/$$p" 2>/dev/null || \