• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    修改IntelliJ IDEA中CVS插件以兼容其他cvs工具

    發布: 2007-7-01 18:47 | 作者: admin | 來源: | 查看: 19次 | 進入軟件測試論壇討論

    領測軟件測試網
    論壇討論請見:http://community.csdn.net/Expert/topic/3492/3492097.xml?temp=.1520502

        IDEA的CVS是我見過功能最強,最好用的CVS客戶端,其與IDEA工程的整合幾乎達到了天衣無縫的地步。一個團隊如果統一使用IDEA,則僅在CVS工具這一方面就會大大減輕團隊成員的學習負擔。    IDEA的CVS插件支持兩種編碼方式: UTF8和ASCII。本來是彌補了CVS系統本身不支持國際化的缺陷。但是在實際使用中,卻發現這兩種編碼方式有些“高不成低不就”。

        在UTF8編碼方式下,當Commit的log信息為中文時,IDEA會將其進行UTF8編碼再發送給服務器,而一般的CVS服務器(比如我用的CVSNT)會不進行任何轉化的將其保存到CVS倉庫中。這樣的結果就是IDEA自己能夠看到各個版本的log信息,而其他工具如WinCVS, TortoriseCVS以及CVSTracNT等跟蹤軟件都無法正確的解碼。反之,如果用其他CVS客戶端提交了中文log的話,IDEA里的ShowHistory命令就會報錯。讓人最為不解的是,僅僅只有log信息是被編碼過的,源文件中如果含有中文,則仍然采用GB的編碼方式。如果你是CVS的管理員,會在xxxxx.java, v文件中同時發現GB編碼和UTF8編碼的中文。怎能不亂?    此外在UTF8編碼方式下,當源文件中含有中文字符時,Annotate功能是不能使用的。

        如果不使用UTF8編碼,即使用ASCII編碼的時候,Annotate功能是沒有問題,但是Commit的時候無法提交中文log信息,報編碼錯誤。ShowHistory時看外界提交的中文log是亂碼。

        說了這么多,一句話,中文編碼問題。如何解決呢?上面的帖子發了半年也沒有結,在IDEA官方論壇上也問過,但是因為都是老外,最后還是沒有理想的答案。我于幾日前得到了Irida版本,發現CVS插件的jar包并沒有混淆(4.5版本是混淆的, 要讀簡直是不可能的),于是進行了反編譯(呵呵不要告我),經過分析發現,最終的問題出在org\netbeans\lib\cvsclient\io目錄下的AsciiOutputStreamWriter和AsciiInputStreamReader中。經過簡單的修改(只要解決過Java的中文編碼問題,這個修改不是什么難事),終于把這個問題搞定了!    請于http://www.jroller.com/resources/WarBaby/CvsPatchForIrida.zip下載這個補丁,打開%IDEAHOME%\plugins\cvsIntegration\lib\cvsIntegration.jar,用補丁里的class文件覆蓋org\netbeans\lib\cvsclient\io下的同名文件即可。這是Irida的修改方法,4.5版本的稍有不同,這里只點一句,org\netbeans\lib\cvsclient\io\AsciiOutputStreamWriter.java == org\a\a\a\b\f.javaorg\netbeans\lib\cvsclient\io\AsciiInputStreamReader.java == org\a\a\a\b\c.java請愛好者自己反編譯再編譯就好了。

        修改后,請!不要!選中UTF-8 encoding,上面的問題就完全解決了。對于以前用IDEA提交的中文log,現在是顯示亂碼的,但是如果選中UTF-8 encoding則和以前的IDEA完全一樣。所以請放心使用。    只有一點需要說明一下,我在AsciiInputStreamReader中,為了效率問題,建了幾個靜態變量,可能會線性不安全。但是我看見IDEA操作CVS的時候,窗口是模態的,無法進行其他操作。萬一有問題請自行處理吧。

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>