[Patch] Bugs in KDev-3.4's cvs part

Robert Gruber rgruber at users.sourceforge.net
Thu May 3 15:15:38 UTC 2007


Hi!

When I updated my kdevelop-3.4 today (didn't update for the last month or so)  
to the most recent revision from "branches/KDE/3.5/kdevelop" I recognized 
some bugs in the cvs-part (from which unfortunatly I can only fix two out of 
three).

(1)
Whenever I open a project which uses the CVS part, a messagebox pops up 
telling my, that no working directory has been specified. 
I traced this back to the filetree. It tries up update the status infos for 
it's files when a new project gets opened. The problem here is, that the 
filetree reacts on the projectOpened() signal before the cvs-part, which 
therefore does not know on which directory he should issue the "cvs status" 
command.
Is there any change to make cvspart get setup before other parts?



(2)
Updateing the VCS infos in the filetree takes very long even if a directory 
only contains a few files.
Dukju added two addidional parameters to he 
CVSFileInfoProvider::requestStatus() method. The first parameter (bool 
recursive) is ok, but the second one (bool checkRepos) IMHO make no sense at 
least not as it is implemented now. It get's passed as third parameter 
(called "taginfo") to CvsService_stub::status() which will make "cvs status" 
print all tags for every single file. 
Before Dukju's change this taginfo parameter was set fixed false. Now it's 
true which will make cvs print out a lot more unneeded information for every 
single file. Next to the fact that the information is unneeded, the parser is 
also unable to handle that ouput and therefore tries to reinsert the same 
fileinfo again and again. So the whole thing got pretty slow.
To fix this I just ignore the "bool checkRepos" parameter and set the taginfo 
to false (as it was before). See patch file.



(3)
I think I've found a bug in the cvs client. It happened to me, that the client 
produced no ouput if called onto a directory with a tailing slash.
This one works:
cvs status -l 'somedir'
While this one doesn't:
cvs status -l 'somedir/'

So I added a check which will ensure that we always pass correct paths to the 
cvs client. See patch file.


Please review and tell me if commiting it is ok.
Greets, Robert
-------------- next part --------------
A non-text attachment was scrubbed...
Name: kdev_34_cvs.patch
Type: text/x-diff
Size: 978 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20070503/6e505193/attachment.bin>


More information about the KDevelop-devel mailing list