No puedo hacer que git juegue bien con iconv y utf-16

Estoy tratando de hacer que git reconozca UTF-16 como texto para permitirme diferenciar y parchear como texto de forma nativa, pero tengo problemas para obtener eltextconv parámetro para trabajar.

Puedo llamar manualmente

iconv -f utf-16 -t utf-8 some-utf-16-file.rc

Y todo está bien. Pero si configuro mi .gitconfig de la siguiente manera

[diff "utf16"]
    textconv = "iconv -f utf-16le -t utf-8"

y mis atributos .gitat:

# Custom for MFC
*.rc text eol=crlf diff=utf16

Sin embargo, si yo entonces si corrogit diff, se muestra lo siguiente:

iconv: C:/Users/Mahmoud/AppData/Local/Temp/IjLBZ8_OemKey.rc:104:1: incomplete character or shift sequence

Con procmon pude rastrearlo al crear este proceso:

sh -c "iconv.exe -f utf-16le -t utf-8 \"$@\"" "iconv.exe -f utf-16le -t utf-8" C:/Users/Mahmoud/AppData/Local/Temp/JLOkVa_OemKey.rc

... que realmente puedo ejecutar bien (en el archivo real, sin embargo).

¿Algunas ideas?

(Tenga en cuenta que conozco las diversas soluciones para hacer que git funcione con UTF-16. Estoy tratando específicamente de abordar esta pregunta de por qué iconv por sí solo funciona pero no funcionará cuando lo llame git. Además, esto el error se encontró originalmente al intentar una de las soluciones vinculadas de la pregunta "duplicada". Gracias a todos amablemente).

Respuestas a la pregunta(3)

Su respuesta a la pregunta