mediante Visual Studio 2010. Tengo un archivo resource.h cuales TortoiseHg piensa que es binario por lo que no se mostrará un diff para ello en la ventana de confirmación. Puedo abrir fácilmente el archivo en un editor de texto y ver que es texto plano.¿Por qué TortoiseHg piensa que Resource.h es binario?
vi una pregunta relacionada (Why does Mercurial think my SQL files are binary?), que sugiere que tiene que ver con la codificación de archivos. De hecho, al abrir el archivo en Notepad ++ dice que el archivo está en "UCS-2 Little Endian". ¿Cómo puedo arreglar esto? Yo, obviamente, no quiero romper algunas expectativas de Visual Studio.
Como se describe en ese hilo, desde dentro de Visual Studio que abrió el archivo resource.h y se fue al menú Archivo-> Opciones avanzadas para guardar y eligió la codificación "Unicode (UTF-8 con firma) - Página de códigos 65001". Después de dos commits ahora puedo ver un diff apropiado. – User
corrección, al elegir "Unicode (UTF-8 con firma) - Página de códigos 65001" después de editar en el editor de recursos de Visual Studio se queja de que el archivo no es un archivo de Visual Studio. En cambio, utilicé "US-ASCII" (como se describe en el hilo enlazado en esta respuesta). Tal vez el problema fue la firma UTF-8? Hay una opción para no firmar, pero por ahora estoy considerando resolver el problema. – User
Siempre prefiera la opción sin firma. La lista de materiales (la firma en cuestión) es una fuente común de problemas en muchos programas. Y como aún sin lista de materiales es relativamente fácil de detectar automáticamente la diferencia entre UTF-8 y ISO-8859-1, una vez que contiene un carácter fuera del rango ASCII, que no añade valor cualquiera. –