Construye Git con un enlace simbólico

En GNU / Linux, ¿hay alguna manera de build Git desde la fuente utilizando enlaces simbólicos en lugar de enlaces duros?

Por ejemplo:

./configure make make install 

cede a:

 $PREFIX/bin/git $PREFIX/libexec/git-core/git-log $PREFIX/libexec/git-core/git-status $PREFIX/libexec/git-core/git-commit ... 

que son todos enlaces duros.

Me gustaría que git-log , git-status , git-commit sean enlaces simbólicos a git , etc.

No hay una forma incorporada de hacer esto. El Makefile siempre intenta crear enlaces duros primero, y solo si falla, retrocede a los enlaces simbólicos.

Lo que podrías intentar es alias o shadow ln para crear enlaces simbólicos por defecto.

Puedes hacer esto, a less que sea un malentendido. Todo lo que tiene que hacer es agregar NO_INSTALL_HARDLINKS=YesPlease por NO_INSTALL_HARDLINKS=YesPlease a la línea make:

 ./configure make NO_INSTALL_HARDLINKS=YesPlease make NO_INSTALL_HARDLINKS=YesPlease install 

Si lees los comentarios en la parte superior del file MAKE en el directory raíz fuente de Git, encontrarás:

 # Define NO_INSTALL_HARDLINKS if you prefer to use either symbolic links or # copies to install built-in git commands eg git-cat-file. 

Restring que Git solo está usando parcialmente autoconf. Gran parte de su configuration solo puede seleccionarse agregando opciones de marca en la línea de command: lea los documentos en la parte superior del file Makefile para ver otras cosas que puede hacer.

De todos modos funcionó para mí.

Puedo confirmar que el método de MadScientist aún funciona con la versión más nueva de git.

  wget https://www.kernel.org/pub/software/scm/git/git-2.12.3.tar.gz ./configure --prefix=/usr make NO_INSTALL_HARDLINKS=YesPlease -j5 make NO_INSTALL_HARDLINKS=YesPlease install ls -althr /usr/libexec/git-core -rwxr-xr-x 1 root root 11M May 11 13:48 git lrwxrwxrwx 1 root root 3 May 11 13:48 git-am -> git