How to Setup the CVS Version Control

Find Tips and tricks on how to better use the Zeus IDE. Feel free to post your own tips but please do not post bug reports, feature requests or questions here.
Post Reply
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

How to Setup the CVS Version Control

Post by jussij »

Lets assume this CVSROOT directory location and structure:

Code: Select all

c:\projects\
      |
      +--- cvsroot
Now assume we have a project directory structure like this:

Code: Select all

c:\work\
      |
      +--- example
             |
             +--- example.c
             |
             +--- example.h
Step 1
Create a Zeus workspace for the example project as follows:
  1. Workspace New menu
  2. Name: example
  3. Directory: c:\work\example
  4. Hit the New button
Step 2
Delete the Source, Header and Resource folders by selecting each in turn, using the right mouse click button and selecting the Remove Folder From Project option.

Step 3
Add the example.c and example.h file to the project, by selecting the example files project, using the right mouse click button and selecting the Add files to Project option.

Step 4
Use the Options, Editor Options menu and go to the Source Control section.

Step 5
Uncheck the Use the system default SCC module option.

Step 6
Select the Zeus SCC-CVS module from the list of SCC providers.

Step 7
Hit the Set Active button.

Step 8
Check the Enable SCC version control option.

Step 9
Apply the changes.

Step 10
Highlight the example files project, using the right mouse click button and select the Add to Source Control option.

Step 11
If you get this message:
The source control is disabled. Use the Workspace, Options menu to enable source control.
then use the Workspace, Options menu, go to the Source Control section and check the Workspace to use SCC source control interface to enable the workspace for source control. Apply the changes and repeat Step 10.

Step 12
In the New Zeus SCC-CVS Project dialog that follows most of the details will already have been entered, but the following additional details will be needed to define the location of the CVS repository:
  • Set Repository Folder to: c:\projects\cvsroot
  • Set Protocol to: Local Folder
Notice the CVS command displayed at the bottom of the dialog

Step 13
Hit the Create Project to import the project into CVS. If the process was successful you will get a message saying just this.

Step 14
Double click on the example.c in the project/workspace.

Step 15
With the example.c as the active file use the Workspace, Source Control, Show History menu and you should see this:

Code: Select all

cvs.exe -d :local:d:\projects\cvsroot  log  example.c
RCS file: d:\projects\cvsroot/example/example.c,v
Working file: example.c
head: 1.1
branch: 1.1.1
locks: strict
access list:
symbolic names:
	zcvs-release: 1.1.1.1
	zcvs-vendor: 1.1.1

keyword substitution: kv
total revisions: 2;	selected revisions: 2
description:

----------------------------
revision 1.1
date: 2005/09/29 00:03:31;  author: CHANGEME;  state: Exp;
branches:  1.1.1;
Initial revision
----------------------------
revision 1.1.1.1
date: 2005/09/29 00:03:31;  author: CHANGEME;  state: Exp;  lines: +0 -0
Initial release
=============================================================================
This indicates that the file is now under version control.
Step 16
If you use the Workspace, Options menu, go to the Source Control section you will see that Zeus has filled in the version control information.

Step 17
To move the project to a server, adjust the AUX Path to point to a new server. For more details on how to configure servers and protocols refer to the the CVS Documentation.

Step 18
To help debug the process use the Workspace, Source Control, View Source Control Output menu.

The project and the files it contains are now under version control and you are ready to do check-outs, check-ins, differences etc etc.
abushne

Post by abushne »

Thanks for the detailed steps,however, I am running into a problem, when I get to the following:

Step 6
Select the Zeus SCC-CVS module from the list of SCC providers.

I am not seeing Zues SCC-CVS in the list of SCC provider... Why is this?
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

I am not seeing Zeus SCC-CVS in the list of SCC provider... Why is this?
If Zeus SCC-CVS is not listed then I can only guess it is not installed :?

Which version of Zeus are you running :?:

Which operating system are you running :?:

Are you running Zeus off a network installation :?:

Jussi
Guest

Post by Guest »

If Zeus SCC-CVS is not listed then I can only guess it is not installed
I believe it is installed? In my C:\program files\Zues directory I have a folder named zCVS and in there is zcvs.dll and sccdoc.html. What else can I check to verify installation?
Which version of Zeus are you running?
Zeus for windows version 3.95f, 45 day evaluation version.
Which operating system are you running?
Microsoft Windows XP Professional Version 2002, Service Pack 2
Are you running Zeus off a network installation?
No, it is a local install. However, I do not have administrative rights to the machine, though I do have write access to the directory Zeus is installed into.

Andrew
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

The Zeus installer would have created these registry keys:

Code: Select all

[HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders]
"Zeus SCC-CVS"="SOFTWARE\\Xidicone\\Zeus SCC-CVS"

[HKEY_LOCAL_MACHINE\SOFTWARE\Xidicone\Zeus SCC-CVS]
"SCCServerName"="Zeus SCC-CVS"
"SCCServerPath"="c:\\program files\\zeus\\zCVS\\zCVS.dll"
It is the first of these keys that Zeus uses to get the list the installed SCC Providers.

If there is no Zeus SCC-CVS item in the list of installed source control providers then this key must not exist or Zeus is must be having touble seeing these registry entries.

Jussi
abushne

Post by abushne »

The Zeus installer would have created these registry keys:
Code:
[HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders]
"Zeus SCC-CVS"="SOFTWARE\\Xidicone\\Zeus SCC-CVS"

[HKEY_LOCAL_MACHINE\SOFTWARE\Xidicone\Zeus SCC-CVS]
"SCCServerName"="Zeus SCC-CVS"
"SCCServerPath"="c:\\program files\\zeus\\zCVS\\zCVS.dll"

It is the first of these keys that Zeus uses to get the list the installed SCC Providers.

If there is no Zeus SCC-CVS item in the list of installed source control providers then this key must not exist or Zeus is must be having touble seeing these registry entries.
I have verified these keys do indeed exist, so zeus is having problems reading them.

Like I noted, I am not an administrator of my machine and thus only have "READ ONLY" access to those registry keys... My hunch is that the code that is trying to open/read these keys is not taking care to open them read only, so the open fails and the lookup fails... Aside from installation, when does Zeus write to the registry?
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

In normal operation Zeus will hardly ever write to the registry.

The one time it does is if you start a second copy. The second copy activates the first and passes some details via the registry.

The AsProtect copy protection used by Zeus will more than likely write to the registry, but since this is a third party product I could not say for sure.

I will double check the Zeus registry reading code to make sure it is setup to correctly for read only.

Jussi
abushne

Post by abushne »

In normal operation Zeus will hardly ever write to the registry.

The one time it does is if you start a second copy. The second copy activates the first and passes some details via the registry.
I have noticed an issue with zeus when running a second time, wonder this explains it.. What I noticed is I have zeus setup to run when I double click a source file in Windows Explorer, if zeus is not running, then this works just fine, but if zeus is running, the running instance comes to the foreground, but the double clicked file is not open... I wonder if the logic could/should be change to write to HKEY_CURRENT_USER rather than HKEY_LOCAL_MACHINE for this? I have write access there..
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Post by jussij »

the running instance comes to the foreground, but the double clicked file is not open...

This does look like another symption of the read/only access to the registry.

When the file is opened in the second copy, it would have attempted to write the file name to the registry for the first instance to read. It looks like the second instance failed to write anything and/or the first instance was not able to read these file details.
I wonder if the logic could/should be change to write to HKEY_CURRENT_USER rather than HKEY_LOCAL_MACHINE for this? I have write access there..
I suspect this should be possible.

Cheers Jussi
Post Reply