Я хотел бы определить, является ли файл (из определенного коммита / ревизии) двоичным или нет. Я знаю, что git имеет какой-то метод, чтобы сделать это, потому что, когда вы переводите двоичный файл, он дает вам другой результат, чем при обычном текстовом файле. Зная об этом, я видел сообщения в Интернете о том, как разнести файл в пустую ветку дерева, чтобы определить, является ли он двоичным. Если файл является двоичным, в нем будут показаны две черточки, в которых номера строк различий будут go.
Например, следующее:
git diff 4b825dc642cb6eb9a060e54bf8d69288fbee4904 --numstat HEAD -- logo.png
вернет
- - logo.png
Тире есть, потому что этот файл является двоичным файлом. Обычный текстовый файл покажет различия строк.
Я хотел бы использовать этот факт, чтобы определить, является ли файл двоичным или нет, используя Libgit2sharp, но я не могу понять, как это сделать.
Я также открыт для любых альтернативных подходов, если этот слишком обходной.