我为数据库中的存储过程生成了一整套脚本.当我创建Mercurial存储库并添加这些文件时,它们都被添加为二进制文件.显然,我仍然可以获得版本控制的好处,但是会失去很多效率,"差异化"等文本文件.我确认这些文件确实只是文本.
它为什么这样做?
我该怎么做才能避免它?
有没有办法让Hg改变它对这些文件的看法?
以下是变更集日志的片段:
496.1 Binary file SQL/SfiData/Stored Procedures/dbo.pFindCustomerByMatchCode.StoredProcedure.sql has changed
497.1 Binary file SQL/SfiData/Stored Procedures/dbo.pFindUnreconcilableChecks.StoredProcedure.sql has changed
498.1 Binary file SQL/SfiData/Stored Procedures/dbo.pFixBadLabelSelected.StoredProcedure.sql has changed
499.1 Binary file SQL/SfiData/Stored Procedures/dbo.pFixCCOPL.StoredProcedure.sql has changed
500.1 Binary file SQL/SfiData/Stored Procedures/dbo.pFixCCOrderMoneyError.StoredProcedure.sql has changed
Run Code Online (Sandbox Code Playgroud)
在此先感谢您的帮助吉姆
使用Visual Studio 2010.我有一个TortoiseHg认为是二进制的resource.h文件,因此它不会在提交窗口中显示它的差异.我可以在文本编辑器中轻松打开文件,看到它是纯文本.
我看到了一个相关的问题(为什么Mercurial认为我的SQL文件是二进制文件?)这表明它与文件编码有关.确实在Notepad ++中打开文件说该文件位于"UCS-2 Little Endian"中.我怎样才能解决这个问题?显然,我不想打破一些Visual Studio的期望.
我最近开始使用Mercurial,当我恢复我的一个.SQL文件时,Mercurial执行了二进制比较.这显然限制了所做更改的可见性,因为没有差异.
是否有选项可以设置文件类型来进行字符串比较?
我正在使用带有Mercurial 1.3.1的Tortioise Hg 0.8.1.