#!/bin/sh dirname=`date +"%Y%m%d%H%M%S"` mkdir $dirname && cd $dirname # create the repository mkdir cvsroot && cd cvsroot export CVSROOT=`pwd` cd .. cvs init # import an empty project mkdir project && cd project cvs import -m "Create initial repo" project yoyo start cd .. rmdir project # checkout the project cvs co project && cd project # create a new file on HEAD echo 1 >a cvs add a cvs ci -m "added file a to HEAD" a # create and switch to "stable" branch cvs tag -b stable cvs update -r stable # add a new file to stable branch echo 2 > b cvs add b cvs ci -m "added file b to 'stable' branch" b # create and switch to "dev" branch from "stable" cvs tag -b dev cvs update -r dev # modify file 'a' on "dev" branch echo "change" >> a cvs ci -m "changed file a on dev branch" a # see what CVS thinks the "dev" branch looks like cd .. rm -rf project cvs checkout -r dev project ls project && echo "Note how b is PRESENT" # check output of cvsps cd project cvs log > ../cvslog cd .. cvsps -A -x --test-log cvslog project > cvsps.out # check behavior of git-cvsimport git-cvsimport -i -d $CVSROOT -C project.git project cd project.git git-checkout -f dev ls && echo "Note how b is ABSENT!"