Git зберігає вміст однозначно в репо на основі обчисленого хеша будь-якого файлу. Якщо в моєму каталозі є дві копії одного і того ж файлу, десь усередині нього, git тільки фактично збереже його.
Мені цікаво, чи ця концепція була реалізована на рівні операційної системи як якась файлова система?
Якщо файлова система працювала таким чином за умовчанням, це допомогло б dll hell питань. По суті, це буде автоматично символічне посилання від вашого імені. Будь-яке додаток може бути упаковано (як jar) в каталог з усіма його залежностями і без додаткових витрат на зберігання.
Любителі Ruby діляться бібліотеками, публікуючи їх як rubygems. Тим не менш, ці зусилля, щоб розділити дорогоцінні камені призвели до розгортання кошмарів, які призвели до Продавець Все Концепція копіювання всіх залежностей в локальні папки, щоб уникнути таких кошмарів.