La mejor manera para que el script automatizado determine si git está realmente instalado en OS X

1

Puedo ubicar los ejecutables llamados git de varias maneras (básicamente equivalente a which git ). Pero todas las soluciones que conozco están vencidas por el programa falso /usr/bin/git de OS X, que es un enlace a un cuadro de diálogo que ofrece la instalación de git de Xcode (me referiré más adelante como el instalador OS X git .)

Quiero detectar esa situación y tratar a git como no encontrado si es el único. No quiero tener que ejecutarlo para determinar eso, porque no quiero activar el cuadro de diálogo del instalador.

Contexto: me gustaría implementar lo siguiente (como parte de un proceso de instalación de software más amplio):

  • Determine si un git "real" está instalado (es decir, un ejecutable llamado git , que no sea el instalador de OS X git, se encuentra en el PATH ),
  • Si lo es, reconozca y respételo y proceda (tengo esta parte resuelta),
  • Si no lo está, instale el del proyecto git (tengo esta parte resuelta).

Me siento cómodo analizando PATH si es necesario y buscando ejecutables, si puedo encontrar una manera de ignorar el instalador OS X git. Me siento cómodo con una heurística si esto es correcto casi todo el tiempo; No necesito manejar casos de borde (como alguien que crea un ejecutable o un script llamado git que no es compatible con git ).

¿Cuál es la mejor manera (más robusta, secundaria y conveniente) de determinar si un instalador de git que no es OS X git está instalado en un sistema sin ejecutando /usr/bin/git (y activando el instalador diálogo)?

    
pregunta David P. Caldwell 22.10.2015 - 16:04

0 respuestas

Lea otras preguntas en las etiquetas