Code Newbie
News     Forums     Search     Members     Sign Up    

My Code Newbie
Username

Password

Articles/Snippets
ASP Classic
ASP.NET
C
C#
C++
HTML / CSS
Java
Javascript
Linux / BSD
Perl
PHP
Python
Ruby
SQL
VB 6
VB.NET

C.N. Friends
  Planet Rome

Link to Us!
Code Newbie
  Code Newbie
    html
  » Using CVS to manage your source code
      by AssKoala
 Page 2 of 4 
< Previous     Next >

(Login to remove green text ads)
CVS Crash Course
CVS uses a server/client style system (though the server doesn't run as a daemon, it is instantiated by the client).

Here's the basic rundown of the common commands you'll need to setup and use a cvs server.

First, I want to setup a CVS repository. The repository is where cvs will store all its information for the projects you'll be working on.

Let's say I'm going to have a repository in my home directory. I first make the directory and then initialize the directory as a cvs repository. If you do this correctly, the CVSROOT folder will show up in your repository folder.

Code:
asskoala@Faye asskoala % mkdir CVS_repos                 [22:41:20 on 04/22/06]
asskoala@Faye asskoala % cvs -d /usr/home/asskoala/CVS_repos init
Now that I have my repository, I can start a project. I want to write a text editor and I'm unoriginal, so I'm going to call it TextEdit. It's a project I've been working on, so all I have to do is add it to the repository. If you want to make a new project, you simple create the folder and use it for the import command. Note that you'll have to set the $CVSROOT environment variable before using the import command. I show the ZSH command on the example.

Code:
asskoala@Faye asskoala % cd TextEdit                     [23:09:28 on 04/22/06]
asskoala@Faye TextEdit % export CVSROOT=/usr/home/asskoala/CVS_repos
asskoala@Faye TextEdit % cvs import TextEdit TextEdit start
If you did this correctly, CVS should bring up your default text editor (I use VIM) and ask for a comment. Something witty might sound fun (and it is), but I should put something useful like "Imported TextEdit into CVS".

You can replace the first TextEdit with the folder to add and the second is the module name.

Finally, I can start working. First, I need to check out the module I just built:

Code:
asskoala@Faye asskoala % cvs co TextEdit                 [23:26:03 on 04/22/06]
cvs checkout: Updating TextEdit
Now, I want to add a file I made, text.c:

Code:
asskoala@Faye asskoala % cd TextEdit                     [23:27:27 on 04/22/06]
asskoala@Faye TextEdit % cat > text.c                    [23:27:29 on 04/22/06]
#include <stdio.h>

int main() {
        return printf("Hello, World!\n");
}
asskoala@Faye TextEdit % cvs add text.c                  [23:27:52 on 04/22/06]
cvs add: scheduling file `text.c' for addition
cvs add: use 'cvs commit' to add this file permanently
asskoala@Faye TextEdit % cvs commit                      [23:27:58 on 04/22/06]
Again, a big text editor comes up asking you for a message: use something intelligent, despite the temptation to write something witty.

Now, let's say I want to add a binary file (like an image):

Code:
asskoala@Faye TextEdit % cvs add -kb blah.jpg            [23:29:58 on 04/22/06]
cvs add: scheduling file `blah.jpg' for addition
cvs add: use 'cvs commit' to add this file permanently
asskoala@Faye TextEdit % cvs commit                      [23:30:05 on 04/22/06]
Same deal as above.

Now, let's say someone else has made changes and I want to update my repository:

Code:
asskoala@Faye TextEdit % cvs update -dP                  [23:30:29 on 04/22/06]
cvs update: Updating .
The -d specifies recursively and -P specifics to prune empty directories (you can't delete directories in cvs).

Finally, removing something is easy too:

Code:
asskoala@Faye TextEdit % cvs remove blah.jpg             [23:31:09 on 04/22/06]
cvs remove: file `blah.jpg' still in working directory
cvs remove: 1 file exists; remove it first
asskoala@Faye TextEdit % rm blah.jpg                     [23:31:59 on 04/22/06]
asskoala@Faye TextEdit % cvs remove blah.jpg             [23:32:09 on 04/22/06]
cvs remove: scheduling `blah.jpg' for removal
cvs remove: use 'cvs commit' to remove this file permanently
asskoala@Faye TextEdit % cvs commit                      [23:32:10 on 04/22/06]
And that's all there is to it! The following pages detail installation of CVS as well as further reading for information on using CVS: however, this knowledge should simplify your further reading.




 
 Page 2 of 4 
< Previous     Next >

Rate This Article
1 2 3 4 5 6 7 8 9 10





Copyright © 2000-2008, Milano Interactive
Web Hosting provided by Portal 360 Web Hosting