Acabo de programar mis proxies almacenados de SQL Server, definiciones de tabla, etc. utilizando SQL Server Management Studio, e intenté agregarlos a mi repositorio de control de fuente Mercurial. Se agregaron muy bien, pero ahora cuando los cambio y los diferencio, Mercurial los llama "archivos binarios" y no me da una diferencia unificada apropiada.¿Por qué Mercurial cree que mis archivos SQL son binarios?
Pensé que la codificación podría ser un problema, así que traté de regenerar los scripts y especificar ANSI para el resultado del archivo de texto, pero obtengo el mismo comportamiento. Puedo verlos perfectamente en el bloc de notas sin que aparezcan personajes extraños. ¿Por qué Mercurial cree que estos archivos son binarios?
De lo contrario, si alguien puede recomendar una buena herramienta para crear una base de datos de SQL Server que podría no causar este problema, eso también podría funcionar.
Para ser claros, no es Unicode el problema. Es UTF-16, que tiene nulos incorporados. UTF-8 no lo hace, a menos que realmente use U + 0000 (que un archivo SQL generalmente no usaría). –
Es bueno saber por qué hg piensa que es binario, pero será mejor encontrar una solución para mercurial que lo obligue a cambiar de opinión. Volver a guardar todos los scripts es una solución fea. El problema está en mercurial, no en los archivos. – Stan
La respuesta funcionó para mí, pero utilicé "Unicode (UTF-8 sin firma) - Página de códigos 65001" en lugar de ASCII –