Могу ли я использовать фильтр git smudge/clean для преобразования двоичного файла в несколько файлов и обратно?

У меня есть двоичный файл, который можно десериализовать в текстовое представление вместе с некоторыми вспомогательными файлами изображений.

Могу ли я использовать smudge и clean для преобразования одного файла в несколько, а затем обратно?

Eg:

Бинарный файл:

  • Демо.bin

Будет десериализоваться в:

  • Demo.txt (важно иметь возможность сравнивать этот файл)
  • Демо.Picture1.bmp
  • Демо.Picture2.gif

person ThunderFrame    schedule 11.09.2017    source источник
comment
Если вас интересует только сравнение, вы можете написать скрипт, который извлекает часть txt и использовать файл gitattributes, аналогичный этот.   -  person 1615903    schedule 12.09.2017
comment
@ 1615903 лол - это точный ответ, который нашел мой оригинальный поиск в Google.   -  person ThunderFrame    schedule 12.09.2017


Ответы (1)


Короткий ответ - нет". Более длинный ответ более сложен: конечно, вы можете записывать такие файлы в рабочее дерево сколько угодно. Однако вы не можете заставить их попасть в индекс, поэтому по определению они будут неотслеживаемыми файлами. Вы можете попытаться перезаписать существующие индексные файлы, но это чревато опасностью.

(Git ожидает/предполагает, что как драйвер фильтра старого стиля, так и фильтр-как-процесс нового стиля будут работать по одному указанному пути за раз. Используя метод процесса, вы, возможно, могли бы отложить касание индекса до тех пор, пока ваш filter завершается, что произойдет как раз перед тем, как Git решит, что он сделал все, что он делает — требует ли это размазывания или очистки.)

person torek    schedule 11.09.2017