Developers.GettingStarted.TortoiseCVS
Using TortoiseCVS
Open source projects have lots of people writing the same code at the same time. How does this work? How do they keep from clobbering each other's edits? The answer is CVS, the Concurrent Versions System. All the code files are on a server on the Internet. Developers use a CVS program to connect to the server and download or upload files. A great new CVS program for Windows is TortoiseCVS.
Get TortoiseCVS
At tortoisecvs.org, download the current version. These steps were written with TortoiseCVS-1.8.14.exe. Run the file to start the setup wizard. TortoiseCVS hooks into Windows Explorer, so you have to reboot your computer at the end.
TortoiseCVS works right within Windows Explorer. Start by making a folder on your computer where you want to keep the Shareaza source code. Right-click in the center of it. TortoiseCVS added some items to the right-click menu. Choose CVS Checkout.
The Checkout Module dialog box appears. Paste the text below into the CVSROOT box. This fills many of the other boxes auotmatically. In the Module box at the bottom, type shareaza, with a lowercase s at the start. The modules to choose from are listed as folders on the ViewCVS page. With those two boxes filled, click OK.
- pserver:anonymous@cvs.sourceforge.net:/cvsroot/shareaza
TortoiseCVS makes a subfolder for every folder in CVS and downloads the Shareaza source code, setup source, etc. into they. In Windows Explorer, TortoiseCVS marks the folders and files with green checkmarks because they are both on the server and on your computer. You can move and rename this folder without breaking its connection to CVS.
Keep your copy of the code current
You've installed TortoiseCVS, and had it download the Shareaza source code. But that was yesterday! Shareaza developers have changed the code and uploaded more. The copy on your hard drive isn't current. Here's how to solve this problem with TortoiseCVS.
In Windows Explorer, right-click the shareaza folders and choose CVS Update. Tortoise CVS will download the new source code files from the CVS server, overwriting the outdated copies on your hard drive.
What happens when someone edits a file?
Here's what the icon colors mean.
File:Tortoisegreen.png ~~#00CC00:Unmodified (Green)~~ This file is the same on the CVS server.
File:Tortoiseorange.png ~~#FF9900:Modified (Orange)~~ You changed this file here.
File:Tortoisered.png ~~#FF3333:Conflict (Red)~~ You changed this file, and it also changed on the server.
If you download all the source code, never edit any of it, and click CVS Update every few days, all the files will stay ~~#00CC00:Unmodified~~.
If you edit one, it will change to ~~#FF9900:Modified~~. It's still safe to right-click and choose CVS Update. TortoiseCVS won't eliminate your changes. It will update all the ~~#00CC00:Unmodified~~ files and leave your ~~#FF9900:Modified~~ one alone.
If a developer updates a file you've modified, it will be marked ~~#FF3333:Conflict~~. Now, it's your job to merge your changes with the changes from the server.