Depois de tentar algumas outras opções (git da linha de comando e do cliente GitHub), descobri que o culpado se parece com o plugin eclipse git. Eu não sei porque, talvez alguma incompatibilidade de versão?
No final, o problema era que o Eclipse configurava o repositório para usar o autocrlf e os arquivos em questão usavam \ r \ n, \ n e \ r com significados especiais, então alterar um \ r \ n para \ n poderia corromper o arquivo.
A solução é adicionar o .svg ao .gitattribute com o parâmetro -text, de forma que o crlf não seja convertido para lf.