SCM - Source Code Management

A container for using CVS, Perforce, VSS or Clear Case.

Bedtime for Bonzai

Actually, it is I who should go to bed.

But if you have a mac and want some good time perl code focused on CVS, try this:

Start a terminal app,

export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
cvs -z9 -q co mozilla/webtools/bonsai mozilla/webtools/registry

Bonzai is no DMG file. It is poorly packaged.

From the README of the project:
"This is Bonsai. See < http://www.mozilla.org/bonsai.html >.

==========
DISCLAIMER
==========

This is not very well packaged code. It's not packaged at all. Don't
come here expecting something you plop in a directory, twiddle a few
things, and you're off and using it. Much work has to be done to get
there. We'd like to get there, but it wasn't clear when that would be,
and so we decided to let people see it first.

Don't believe for a minute that you can use this stuff without first
understanding most of the code."

SCM links



Building
For Success


Configuration management developer community and resource center
featuring configuration management, application lifecycle
management and agile development. CM Crossroads features discussion
forums, a wiki web, free newsletters and podcasts and an extensive
user contributed resource center., In last monthâ??s article [1] we
covered a number of issues relating to the build process. This
month we will address some more detailed scenarios and the
associated problems.

CM
Crossroads


Configuration management developer community and resource center
featuring configuration management, application lifecycle
management and agile development. CM Crossroads features discussion

P4 branches graph

p4 files //... | sed 's/\(.*\)#.*/dirname \1/' > p4realbranches.txt

The above is a concept for finding all branches or folders in P4.

Want to make a table of change # and what branches were changed. Then making a tree like structure to visualize code changes.

P4 clients

While Perforce out of the box has a lot of useful tools, some scripting can provide even more.

CD to the clients working folder.
On Unix you can do this:
cd `p4 info | awk "/Client root/" | sed -n "s/Client root: //p"`

I should really learn awk and sed better. But the above will cd into your client root!

P4 typemaps

Perforce allows you to change how files are stored in the depot. When you get Perforce installed, it attempts to guess what kind of file is added on the fly. While it is OK at finding non-text files, it would be good to set it up so we are sure what file is stored how in perforce.

One could do the p4 typemap and see what is set up so far.

I found it easier to use the p4 typemap -i to load the file types from a file.

So I do this:
cat input.typemap.txt | p4 typemap -i

Source Code Management

This page is dedicated to how to change and create software. It will concentrate on CVS and Perforce.

scmbug: http://www.mkgnu.net/?q=scmbug
Interesting CVS tool called CVL for Mac: http://www.sente.ch/software/cvl/#License

Graphing tools:
http://wingraphviz.sourceforge.net/wingraphviz/ is based on http://www.graphviz.org/

Perforce

Cost of Ownership:
How much does cost to use Perforce? That depends on how much time you current use with version control.
If used it 100%, which is impossible it would cost 36 cents/hour the first year and only 8 cents/hour after that.

Where to get it:

http://www.perforce.com/perforce/loadprog.html is the link to download the server and clients. You don't pay anything to start using Perforce. When you start using it with more then 2 people, you will have to get an evaluation license from Perforce.
wget http://perforce.com/perforce/doc.081/manuals/cmdref/cmdref.pdf
Mac Notes: http://kb.perforce.com/HardwareOsNe..rkReference/OperatingSystems/Mac/Pe...

CVS Page

CVS is a free and widely used Source Code Management (SCM) application.

Introduction

This will be filled out as time permits.

Tools:
http://www.bonevich.com/boneclipse-master/boneclipse-cvsgrapher/index.html
http://statcvs.sourceforge.net/
http://cvsplot.sourceforge.net/
http://sourceforge.net/projects/lxr
http://sourceforge.net/project/showfiles.php?group_id=95827

Mac CVL:
http://www.sente.ch/software/cvl/

Mantis Integration: http://www.mantisbt.org/bugs/view.php?id=3371

Handy tips
To use "CVS -F ...

You need to have unix line endings on the file!

Handy scripts

If you want to list all tags for a file you can do something like this on a standard unix shell:
cvs -z9 -q rlog -h $fileName | sed -n -e '/^\W.*[A-Z|a-z]/p' | sed -e 's/:.*$//' | sed -e 's/\W*//'

If you want to see what items that are not "Up-to-Date" you can do something like this:
cvs status | grep "Status:" | grep -v "Up-to-date"
It will pull all the "Status:" lines of the output and then show only the ones that are not "Up-to-date".

For windows you will have to replace the grep with findstr such as this:
cvs status | findstr "Status:" | findstr /v "Up-to-date"

PSP--Process Elements

Process elements are scripts, forms, measurements and standards used in the process definition.

PSP: Personal Software Process -- Process Definition

There are 10 processes defined in this section. Except for the first definition, each term defines a process in some way. Step one is called "Prerequisite knowledge and skills". This process is the process of writing. A person has to know how to do something before they say they have a process.

Syndicate content