[openbeos] CVS Info (READ THIS)

Some of the CVS information I've seen on this list is either apallingly 
inacurrate or obfuscated. Here's a mini tutorial.

Step 1: Checkout

a. For non-devs

        The *first time* do this:

        $ mkdir obos
        $ cd obos
        $ export CVSROOT=:pserver:anonymous@xxxxxxxxxx:/cvsroot/open-beos
        $ cvs login
                [Press enter when asked for password]

        Then this:

        To checkout sources or update them on any occasion:

        $ cvs -z3 co.

b. For devs (check-out, commit, viewing logs, getting e-mail 
modification info)

The *first time* do this:

$ mkdir obos
$ cd obos
$ export CVSROOT=:ext:(sf_username)@cvs.sf.net:/cvsroot/open-beos
$ ssh -l (sf_username) cvs.sf.net
[log in, error will result about a restricted shell account, but ignore 
it]

Prior to all further operations:
$ export CVS_RSH=ssh [you *really* want to add this ~/.profile]

To check out sources:
$ cvs -z3 co .

To update sources:
$ cd (directory_to_update)
$ cvs -z3 up -d

To commit a new directory:
$ cvs -z3 add (directory)
$ cvs -z3 add (directory)/*

[repeat above for all subdirectories]
[note: you will *really* regret it if you do (directory)/*/*. *DON'T* 
do that]

$ cvs -z3 ci -m "(log message here)" (directory) [NOT (directory)/]

To commit a file:
$ cvs -z3 ci file [file2 file3 , etc.]
[Note: add -m "message" *after* ci to avoid launching vi to add the 
message]

To batch-commit the contents of a directory: (note: all ops can be 
batched like this)
$ cvs -z3 ci (directory) [Note: (directory) MUST not have a trailing /]
[Note: add -m "message" *after* ci to avoid launching vi to add the 
message]

To add a file:
$ cvs -z3 add file [file 2, file 3, etc.]
$ cvs -z3 ci file [file2 file3 , etc.]
[Note: add -m "message" *after* ci to avoid launching vi to add the 
message]

To view a file's log:
$ cvs -z3 log file
[Note: to see only one revision add -r (revision) *after* log (e.g. cvs 
-z3 log -r 1.3 foobar.cpp)

To remove a file:
[And you CANNOT remove directories. Therefore, plan directories wisely]
$ cvs -z3 rm -f file
$ cvs -z3 ci file

To get an e-mail when a file is modified:
[Note: This is not currently enabled. To enable, do the following:]
[uncomment the line under "For example:" in CVSROOT/notify]
$ cvs -z3 watch add -a all file

To get an e-mail when a directory is modified:
$ cvs -z3 watch add -R -a all (directory)

There. Now use CVS well.
-Nathan

--
Fortune Cookie Says:

Left to themselves, things tend to go from bad to worse.


Other related posts: