Программный (не ручной) поиск пути, по которому Git установлен в системе Windows

Я хотел бы написать небольшой вспомогательный инструмент для сборки, который будет читать некоторые свойства текущего рабочего каталога Git, например, последний хэш фиксации, есть ли измененные файлы и так далее. Я обнаружил, что проще использовать установленные двоичные файлы Git вместо чтения каталога .git со сжатыми файлами в неизвестном формате. Но мои инструменты должны быть максимально портативными. Он предназначен для приложений .NET, поэтому единственное требование - .NET 2.0 или новее.

Как теперь найти путь, по которому установлен Git? Есть вариант по умолчанию, который используется, если пользователь только что щелкнул установщик Git. Но может быть иначе. И когда я вижу все программные файлы в git / bin, я действительно не хочу, чтобы они находились в моем% PATH% (который, похоже, не требуется другим инструментам, таким как TortoiseGit). Я не нашел никаких подсказок пути в реестре.

Какой алгоритм я мог бы использовать для поиска Git, кроме полного сканирования файловой системы? (Я уже говорил, что это должно быть быстро?)

51
задан ygoe 28 June 2018 в 04:47
поделиться