金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  422 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
解决TSVN的diff显示中文件不全的问题

TortoiseSVN的diff显示中文有些问题, 多数不能完整显示出来.
好像是整个TortoiseSVN对中文字符都有问题, 如blame会崩溃,
但是选中"Use test viewer..."用Notepad显示就会正常.

所以想到应该可以用一个外部的diff工具替换TSVN的默认的比较工具.

打开TortoiseSVN Setting, 选择Diff View设置页,
将默认的TortoiseMerge改为External, 并选择一个外部diff工具,
例如Beyond Compare.
当然前提是已经安装了第三方的diff工具.

我试了Beyond Compare, 还有VC带的WinDiff, 都可以.

(转载请注明来源于金庆的专栏)


posted on 2009-02-14 13:30 金庆 阅读(3248) 评论(5)  编辑 收藏 引用 所属分类: 5. 软工与管理

评论

# re: 解决TSVN的diff显示中文件不全的问题 2009-02-15 00:03 Dancefire
我用TortoiseSVN好像没有这种问题,你的源文件是使用的UTF-8 with BOM么?如果没有使用UTF-8 with BOM,可能会出现乱码的问题,这应该可以理解。  回复  更多评论
  

# re: 解决TSVN的diff显示中文件不全的问题 2009-02-15 08:55 LOGOS
@Dancefire
VC下的源文件一般不会是utf8的吧  回复  更多评论
  

# re: 解决TSVN的diff显示中文件不全的问题 2009-02-15 13:49 Dancefire
@LOGOS
这没有什么一般不一般的,你保存成utf8就是utf8的。保存文件的时候有一个高级保存选项,你可以选择是否使用UTF8 with signature来保存。如果代码中有非ASCII,我一般选择这个。只要是UTF8的,放到哪里都正常,包括TortoiseSVN的差异和比较。  回复  更多评论
  

# re: 解决TSVN的diff显示中文件不全的问题 2009-02-16 09:06 金庆
@Dancefire
不是utf-8, 所以才会乱码。看来未来的趋势是用utf-8来写代码了。  回复  更多评论
  

# re: 解决TSVN的diff显示中文件不全的问题 2009-02-16 11:12 Dancefire
@金庆
嗯,凡是存在非ASCII编码的字符,都应该采用UTF-8进行文件存储。如果不使用UTF8,那么意味着使用的是系统本地编码,在Unicode诞生前,全球那么多种稀奇古怪的编码,仅仅中文,就有GB2312, GBK, GB10830, BIG5, HZ, Shift-JIS等许多编码,Subversion之类的软件根本无法猜测开发人员的机器是什么编码的,自然会出现乱码。即使像浏览器一样也来猜测也是不大可能的。Unicode/utf-8是一个非常好的解决这类乱码问题的解决方案。所以,大部分的这类软件都做到支持UTF-8,这样就可以支持全球语言了。  回复  更多评论
  


只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理