Visual Studio 2008
CVS Setup
Table of contents
Section 1 - General
Information
1 Introduction
1.1 Identification
1.2 License Notes
1.3 Requirements
Section 2 - Detailed
Description
2 CVS
2.1 Server Access
2.2 Setup PushOK CVS Plug-in
2.3 Setup TortoiseCVS Software
2.4 Visual Studio 2008 Options adjust
3 Connect to your repository
4 Using SSH2
4.1 Tools Setup
4.2 Generate a public/private key
4.3 Upload your public key to the ssh server
4.4 Create a batch file
4.5 Test your connection
Legal
1.1 Identification
This document describes how to setup a CVS server
connection for Visual Studio 2008.NET.
I've tested few of the available plug-ins and herein
my conclusion:
o
Jalindi (http://www.jalindi.com/igloo/)
: I was able to use Jalindi to check-in my source code but I wasn't able to use
it to check-out from remote CVS server; you have to use another CVS client,
this drawback prevents you from synchronizing the code with the rest of the
team. Jalindi doesn't have help documentation.
o
TamTam CVS plug-in (http://www.daveswebsite.com/software/tamtam/index.shtml):
supports CVSNT2.5 which maybe not compatible with old CVS systems, TamTam comes
without conflict editor hence you have to download CVS conflict editor and use
it, and I didn't like that.
o
PushOK CVS plug-in (see section 2.2), is easily
integrated within the VS2008.NET IDE, it supports most Basic operations for
working with Source Control e.g. checkin, checkout, undo checkout, get latest
version, tags & branches, and visual diff/merge support. It is not cheap
and doesn't support team license, so if you have N developers you will pay N *
its price. I've chosen to use PushOK because it was the most stable plug-in I
tested.
1.2 License Notes
To install the required software tools, please be
aware of the respective licensing of these software tools:
o
You need to own a valid license for Visual
Studio 2008.NET.
o
You need to own a valid license for PushOk CVS
plug-in.
1.3 Requirements
Requirement to build this environment is an
x86-based machine with
o
Windows-XP SP2 pre-installed.
o
For installation, an Internet connection to
download software packages.
2.1 Server Access
The Concurrent Versioning System (CVS) is used as
repository for all software components needed for a build and to achieve team
synchronization during development phase. Please perform the following steps to
access a CVS server:
1. Create a new repository (should be done by the CVS admin only):
a) Connect to: \\$CVS_server_ip\ using putty tool (please refer to
section 4.1 for details) or any other tool, your current directory should be
your repository folder e.g. /CVS/Myproject.
b) Write the command export CVSROOT=/CVS/Myproject/ at the command
prompt.
c) Write the command cvs init at the command prompt, now the CVS
repository is initialized and the CVSROOT folder is created.
d) On your local machine create the folder hierarchy for the repository.
2.
Use CVS client to connect to the repository e.g.
TortoiseCVS (please refer to section 2.3) with the following settings:
●
Protocol: Secure Shell (:ext:)
●
Server: $CVS_server_ip
●
Port: leave empty
●
Repository folder: /CVS/Myproject
●
User name: enter your username
●
Module: enter the top most folder's name in your
folder hierarchy for the repository
3.
Add the folder hierarchy created on your local
machine to the newly initialized repository on the server using the add
content command and then the commit command. (I'm assuming min.
level of CVS awareness)
2.2 Setup PushOK CVS Plug-in
Setting
up a CVS plug-in for Visual Studio is described in detail here:
1.
Download PushOK plug-in from http://www.pushok.com/soft_download.php?idprogram=2
:
2.
Component Group: Series 1.x, Component Name: CVSSCC
1.4.2.5.
3. Install plug-in executable by double clicking on it.
2.3 Setup TortoiseCVS Software
You will need a CVS client to do a check-out
operation for the software for the first time as PushOK plug-in doesn't do
this, do:
1. Download Tortoise from http://www.tortoisecvs.org/download.shtml
, choose version 1.8.32. it is more stable than version 1.10.9 which crashes
upon connecting to CVS server.
2. Install TortoiseCVS by double clicking on it.
2.4 Visual Studio 2008 Options adjust
To Use the PushOK plug-in within the Visual Studio,
do:
1.
Go to the "View" tab and select it.
2.
From the drop down menu select
"Toolbars".
3.
From the list of toolbars choose and check
"Source Control".

Then you should see the source control tool bar with
the green arrow active:

1.
From Tools menu choose Options.
2.
From the left panel choose Source Control.
3.
To the right click on the Advanced button,
you should see now the PushOK CVS Proxy Properties window dialogue.
4.
Click on CVS Executables tab, then select
for the option CSV Executable a CVS executable which could be the one
under TortoiseCVS or the one under CVSNT, I've chosen to use the one under
TortoiseCVS. You can leave the GUI Executable empty.
5.
Click on Known lists tab, add the CVS
connection string to the list to be used as the default connection (CVSROOT
path): ":ext:$user@$CVS_server_ip:/CVS/Myproject".
6.
Click on Server Options tab, choose the
default CVSROOT you just entered in step 5; for the SSH client option select
any Plink executable which could be TortoisePlink.exe under TortoiseCVS
installation folder.



After checking out your source code using
TortoiseCVS you need to make a connection between VS2008 and the repository folder
on the CVS server:
1.
Double click on the sln file to open the solution.
2.
On the source control tool bar click on Change
Source Control icon.
3.
A dialogue will appear with title Change Source
Control.
4.
On the dialogue choose the solution and click on
the Bind icon.
5.
A dialogue will appear with title Please Select
CVSROOT, module and local path.
6.
For the CVSROOT part enter the connection
string e.g. ":ext:aasaleh@9.172.10.100:/CVS/Myproject"
7.
Click on the Properties button to the right,
the PushOK CVS Proxy properties dialogue will appear (see a snapshoot
above), on the Server options tab check that you have SSH client entered
e.g TortoisePlink.exe If you get a warning message about ssh connection,
8.
Click on the Check button in the Please Select
CVSROOT, module and local path dialogue, you should get The CVSROOT is OK
message.
9.
For the CVS Module part, enter the module
name, normally you should see it written when the dialogue appear.
10.
Click on the Check button to the right, you
should get The MODULE is OK message
11.
Press the OK button for the dialogue.
12.
Now you should see the solution connected to the
repository with the Connected mark checked.
13.
Repeat the above for the whole projects in the
solution.
14.
Finally, a dialogue window with title Source
Control will appear, you will be asked about how to treat your local files,
choose the second option "Allow these files to be replaced".




Once you connect to the CVS server you will be asked
each time about your password, to avoid this you need to use the SSH2
connection with the server.
4.1 Tools Setup
You will
need tools provide a secure means of connecting computers over an inherently
unsecured medium.
1.
Download pageant, putty, plink, psftp pscp, and
puttygen from http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html.
2.
Save them all under c:\windows directory.
4.2 Generate a public/private key
Generate public/private key pair, you will keep the
private key on your machine and no one should know about it and send the public
key to the CVS server:
1.
Start puttygen by double clicking on it.
2.
Click generate key button.
3.
Save private key in a file saved in c:\windows.

4.3 Upload your public key to the ssh server
After you saved your private key you will need to get a
copy from your public key to be copied into the server under
/ssh/authorized_keys file.
1.
Start puttygen by double clicking on it.
2.
Click load private key, select file you saved under
c:\windows.
3.
Copy the text in the top part of the window (Public
key) and paste it into a file; don't use Save public key button because
this button saves a truncated key.
4.4 Create a batch file
As you close the connection with the CVS server when you
shut down your machine you will need at start-up to authenticate your
connection.
1. Create a bat file with the following contents:
start
c:\windows\pageant.exe c:\windows\myprivatekey.ppk
exit
2. Go to windows start up menu and add this batch file to authenticate
automatically every time you boot.
4.5 Test your connection
Test that you can login automatically to the CVS server
using plink..
1.
Open a cmd prompt and go to c:\windows where you
just downloaded the tools and type:
Plink
user@CVS_server_ip
2. Go to windows start up menu and add this batch file to authenticate
automatically every time you boot.
VS2008, and the Microsoft logo are trademarks of Microsoft
Corporation in the United States, or other countries, or both.
Other company, product and service names may be
trademarks or service marks of others.
All information contained in this document is
subject to change without notice. The products described in this document are
NOT intended for use in applications such as implantation, life support, or
other hazardous uses where malfunction could result in death, bodily injury, or
catastrophic property damage. All information contained in this document was
obtained in specific environments, and is presented as an illustration. The
results obtained in other operating environments may vary.