If you are developing websites collaboratively, say your development teams are working jointly in a project (design or programming) and using CVS or Concurrent Versioning Systems is one good practice to save everyone’s life before they mess up others code.
Assume John uploads his code using FTP at the at 6PM, and Dave overwrites it by 7PM with his version from USA, Raj downloads the files uploaded by John using FTP from and Kumar downloads a Dave’s version, The next day is going to be the miserable day to everyone after all the hard work from the past day – Kumar has clearly overwritten everyone else’s code.
But CVS can solve this issue. A version control system is client/server software to keep track of the work done, allows several developers to makes changes on a set of files on different versions which is finally integrated – with a server having the current updated version of a project and the client can log in, work on the copy of the project, and sends the updation to the server. I would like to brief out the 4 most commonly used tools in CVS:
The general interface of a CVS is command line client but instead a GUI client can be used as a point and click interface to talk to the server. GUI interface allows easy automation, customization of common tasks and gives up a native lookup and feel on Windows, Mac and Unix/Linux due to its frameworks.WinCVS differs from CVS only in the terminology being used. The initial process of a version system is importing the files to CVS terminology where the import operation involves a “clean” directory structure means the files that doesn’t need versioning are removed. Every file is not versioned for certain reasons, in that case it can be removed during importing and moved after the versioning process is over.
I prefer WinCVS, as I was using it while I was programming in a collaborative projects.
SmartCVS, a multi-platform client with powerful features is easy and productive to use. While working on a project, each person makes a change on the files; a SmartCVS organizes and groups the files of related changes referred through a change report file which helps to easily identify the newly added and modified files. SmartCVS also sets file permissions to specific users inorder to protect the files from unauthorized users.
CVSup, a tool used to transfer files across the network has the ability to understand the CVS files & tags and updates the files on the server supporting all types of file. The CVS files are recognized easily and synchronized to balances the data transfer that occurs between the client and the server through algorithms, in turn compressing the number of data bits for easy data transfer.
This is a Java based client (written in Swings), I never installed it before or tested, But its a poulataly know CVS, your team may want to try. Try any one or more of them; you need to read the installation manual carefully, as sometimes it may be tricky.
At Macronimous we encourage our clients to use CVS (it need little learning though) if they too are allowing their team to work on the code we produce from India. Start practicing a CVS will need little time, but you will certainly appreciate your decision of using a CVS with your client or team.