I track xls by using filter to convert it to gnumeric format. Inside gitconfig
[filter "excelbiff"]
clean = ssconvert --export-type=Gnumeric_XmlIO:sax fd://0 fd://1 | zcat -f
smudge = ssconvert --export-type=Gnumeric_Excel:excel_biff8 fd://0 fd://1
and xls set inside gitattribute
While the clean filter works, the smudge filter does not. When git-checkout it said seek error
git ckeckout foo.xls
However git-show works as pipe to ssconvert
git show HEAD:foo.xls | ssconvert --export-type=Gnumeric_Excel:excel_biff8 fd://0 newfoo.xls
I guess ssconvert was mistaken to believe that all data has been flushed too soon.
I tested with an xls that converted to gnumeric uncompress file size about 10MB and libgsf 1.14.11
PS. for older libgsf it needs to using a temp file to buffer data for ssconvert instead of using fd://0