vazexqi / CodingSpectator

Watches and analyzes code edits in the Eclipse IDE non-invasively
http://codingspectator.cs.illinois.edu
Other
20 stars 14 forks source link

Add support for CVS in CodingTracker #151

Closed Wanderer777 closed 13 years ago

Wanderer777 commented 13 years ago

Currently CodingSpectator supports only SVN version control. But we expect some of our future experiments to use CVS, so supporting it could be useful.

Wanderer777 commented 13 years ago

Fixed in c40e6fc833e761b72c5a00102017fd56d2b638a3

reprogrammer commented 13 years ago

It looks like you've decided to accept some inaccuracy and parse the CVS Entries files, right?

Wanderer777 commented 13 years ago

Yes, I am parsing CVS Entries files, but I did not accept any inaccuracy, i.e. I found a way to keep track of versions of files modified by a developer. If you like, we can discuss this more today.

reprogrammer commented 13 years ago

I remember that the CVS Entries files stored the version numbers. So, you must have duplicated the information that CVS keeps internally in your program, i.e. you must have kept the CVS versions of files in a data structure.

Wanderer777 commented 13 years ago

I used the same approach as the one for keeping track of known Java files. For any known Java file there would be a known CVS Entries file (if it exists) that is responsible for the folder, in which this Java file is contained (so, there would be a single known CVS Entries file for all Java files in the same folder). This known CVS Entries file is stored in a predefined location and is used to calculate the delta (i.e. what Java files were added/changed) whenever a user performs commit/update operations that affect the corresponding CVS Entries file.