What is svn or cvs?
We are the group of three people working on a java application. But as code size grows it becomes very difficult to track and synchronize the changes made by each person in code. So someone told me that svn or cvs might solve my problems.
But I don't know how to use it. Someone please guide me. Thanks in advance.
check out Subversion, and TortoiseSVN.
We use this at work.
Basically they are tools for "managing code". Search google for svn tutorials as that is more widely used these days. CVS is still around but everywhere i have worked so far has only dealt with SVN.
SVN: allows you to create code repositories from where team members can checkout code files and commit there changes back to the repository. It has revision numbers that are incremented with every new commit. These revision numbers allow you to go back to a working version in case someone screws some code completely. Of course this functionality only stays available until you don't merge your revisions together (e.g. in case of a successful production deployment, after a year you might feel its safe to merge your previous revisions with the current revision that is in production).
This is just the brief of it, it is a lot more powerful and google will be your best friend in helping you learn. For starters checkout the svn website itself for reference and documentation.
Be careful with CVS: it allows concurrent checkouts and therefor creates a lot of trouble if it actually happens. I prefer GIT (by Linus Torvald) that allows non-central repositories so you can easily work from home or even completely off-line.