Git almacena contenido únicamente en su repositorio basado en el hash calculado de cualquier archivo. Si mi directorio tiene dos copias del mismo archivo en algún lugar dentro de él, git solo lo almacenará una vez.
Me pregunto si este mismo concepto se ha implementado a nivel del sistema operativo como algún tipo de sistema de archivos.
Si un sistema de archivos actuara de esta manera por defecto, sería de gran ayuda con los problemas de dll hell . Esencialmente, sería un enlace simbólico automáticamente en su nombre. Cualquier aplicación podría estar empaquetada (como un jar) en un directorio con todas sus dependencias y sin costo de almacenamiento adicional.
Los entusiastas de Ruby comparten bibliotecas publicándolas como rubygems. Aún así, este esfuerzo por compartir gemas resultó en pesadillas de implementación que condujeron al concepto Vendor Everything de copiar todas las dependencias en carpetas locales para evitar tales pesadillas.