Forum discussion, see: http://community.9cbs.net/expert/topic/3492/3492097.xml? Temp = .1520502
The IDEA's CVS is the strongest, best-use CVS client I have ever seen, which is almost seamless with the integration of the IDEA project. A team uses IDEA in uniform, it will greatly reduce the learning burden of team members in this regard. The IDEA's CVS plugin supports two coding methods: UTF8 and ASCII. It was originally compensated that the CVS system itself did not support the defects of internationalization. However, in actual use, it is found that these two coding methods are "high without low".
In the UTF8 encoding mode, when the log information of the CommT is Chinese, the IDEA will make UTF8 encoding and send it to the server, and the general CVS server (such as the cvsNT I use) does not save it to CVS. Warehouse. Such a result is that IdeA can see various version of LOG information, while other tools such as WinCVS, TortoriseCVS, and CVSTRACNT tracking software cannot decode correctly. Conversely, if the Chinese log is submitted with other CVS clients, the showhistory command in the IDEA will report an error. What is most convolators is that only the log information is encoded, and if Chinese is included in the source file, the encoding method of GB is still adopted. If you are an administrator of CVS, you will find GB coding and utf8 encoded Chinese at the XXXXX.JAVA, and V files. How can I not mess? In addition, in the UTF8 encoding mode, the Annotate feature cannot be used when there is a Chinese character in the source file.
If UTF8 encoding is not used, the Annotate function is no problem with the ASCII encoding, but the Chinese log information cannot be submitted when Commit is submitted. Showhistory, see the Chinese log in the outside world is garbled.
Said so much, one sentence, Chinese code problem. How to solve it? There was no knife on the previous post for half a year. I also asked in the Idea official forum, but because of foreigners, the last still has no ideal answer. I got the Irida version a few days ago, I found that the JAR package of the CVS plug-in is not confused (4.5 version is confused, it is impossible to read it), so I have made anti-compilation (huh, don't tell me), after analysis, The final problem is in the ASCIIOUTSTREAMWRITER and ASCIIInputStreamReader in the org / netbeans / lib / cvsclient / IO directory. After a simple modification (as long as the Java's Chinese code is solved, this modification is not difficult), and finally got this problem! Please download this patch at http://www.jroller.com/resources/warbaby/cvspatchforirida.zip, open% IDEAHOME% / PLUGINS / CVSINTEGRATION / LIB / CVSINTEGRATION.jar, overridden ORG / NetBeans / LIB with the Class file in the patch The same name file under cvsclient / IO. This is the modification method of Irida, and the 4.5 version is slightly different. ORG / NETBEANS / LIB / CVSCLIENT / IO / ASCIIOUTPUTSTREAMWRITER.JAVA == ORG / A / A / B / F.JAVAORG / NETBEANS / LIB / CVSCLIENT / IO / ASCIIInputStreamReader.java == Org / A / A / A / B / C.JAVA Please refuse to compile and compile it. After the modification, please! Don't! Select UTF-8 Encoding, the above problem is completely solved. For Chinese logs submitted by Idea, it is now displayed, but if UTF-8 Encoding is selected, the previous IDEA is exactly the same. So please use it with confidence. Only one thing needs to explain, I am in AsciiInputStreamReader, for efficiency problems, it may be unsafe. But when I saw the IDEA operation CVS, the window is modal and cannot be operated. If you have any questions, please hand it yourself.