[Enclosed are: (1) A description of a serious bug in jCVS 4.6.1. (2) Confirmation of the bug from Tim Endres, the jCVS author. (3) Instructions for disabling the offending command. -kingdon] From: dweller@riva.com (David Weller) Subject: Confirmed _nasty_ jCVS bug (was tkCVS) Date: Tue, 23 Jun 1998 10:19:34 -0500 (CDT) To: info-cvs@gnu.org > Do you know what version of jCVS that was? > > As far as I know such bugs are fixed in jCVS 4.6.1, but if not we need > to fix them or warn the populace or some such. > Yup. Here's the "how to duplicate" directions and Tim's reply to the bug. It is confirmed it is a known, but undocumented bug. Any bug in a PD product that can erase a days worth of work deserves to be pulled, IMHO. SUre, I know all the "caveat emptor", but developers have a responsibility to not let something like this go out. Even if it means disabling a menu option or a button. This bug still exists in 4.6.1. We are disabling the button (since the correct functionality can be duplicated elsewhere). If we find a fix to this internally (or if anybody else does), we will give the data to Tim ASAP. =============================================================== How to duplicate the 4.6.1 jCVS bug: Subject: jCVS bug process Create directory c:/jcvsbug Add a text file in this directory with some text in it. I called mine jCVSbug.txt The file contains the following text > This is version 1.1.1 of this file. Run jCVS File->Import - Brings up Import Release Dialog CVS Module -> jCVSBug CVS Server -> linus CVS Repository -> /xlv0/cvsroot Import Directory -> c:/jcvsbug Vendor Tag -> RIVA Release Tag -> Initial Press OK button at bottom of Import Release Dialog Remove directory c:/jcvsbug File->Checkout - Brings up Checkout Parameters Dialog CVS Module -> jCVSBug CVS Server -> linus CVS Repository -> /xlv0/cvsroot Local Directory -> c:/jcvsbug Edit the jcvsbug.txt file so it contains the following: > This is version 1.1.1 of this file. > I have changed this file now and if I update it, it shouldn't change on my local disk. File->Refresh Icons - to make sure the jCVS recognized that we did change the file. In the jCVSBug Project Window do: Project->Update A jCVSBug output window comes up with the following text: > cvs server: Updating . > U jcvsbug.txt > cvs server: Updating jCVSBug > M jCVSBug/jcvsbug.txt > The command completed successfully. At this point, the jcvsbug.txt file has reverted to the original file and this is not what was expected. What was expected is that any files that had changed on the local disk, should have been flagged as modified and NOT overwritten with copies from the repository. ============================================================= Bug confirmation from author: From: time@ice.com Subject: Re: jCVS 4.6.1 Question > We're using your tool as an interface to CVS on our Windows 95 / NT > Server 4.0 > systems. So far, I really like it, but there seems to be a problem with the > "Project | Update" function. It seems that the net result of running this > command is to > overwrite all of our local files with the ones from the server. Is this in > error, or do we > just misunderstand the correct behavior? Thanks for you help. > Hi, This is a known problem that I have not managed to document yet in the known bug list. It appears to be a very simple mistake that jCVS is making in the protocol, but alas, I have not had time to figure it out. If you happen to come across the answer, I would be eternally grateful! :) Otherwise, the next chance I get I intend to trace the protocol and compare against the cvs command line client and fix it. In the meantime, you can use the update command in the Selection menu, which appears to work fine. You can "Control-click" on the top level folder to easily select all files, or use the Select All command in the File menu. tim. Tim Endres, ICE Engineering, Inc. mailto: time@ice.com http://www.ice.com "Usenet - A slow moving self parody." -- Peter Honeyman From: dweller@riva.com (David Weller) Subject: jCVS 4.6.1 quick fix...removes menu options... To: info-cvs@gnu.org Date: Tue, 23 Jun 1998 10:35:29 -0500 (CDT) Change the following lines in your Properties.txt file in the application dir under jCVS: From: jCVS.projectMenu.Project=Checkout:SEP:Release:SEP:Update:SEP:Commit:SEP:RDiff To: jCVS.projectMenu.Project=Checkout:SEP:Release:SEP:Commit:SEP:RDiff From: jCVS.projectMenuItem.Project.Update=Update:CVS:update:A:EAUP:deou: To: comment it out