FINALLY! I don't like the
Cederqvist manual. Only examples, and bad ones they are!
This is how it can be done at least under linux:
Code: Select all
bash-2.05b$ mkdir -p app/dir1
bash-2.05b$ mkdir -p app/dir2
bash-2.05b$ mkdir -p app/dir3
bash-2.05b$ mkdir -p app/foo
bash-2.05b$ mkdir -p app/bar
bash-2.05b$ echo "bahsha" > app/dir1/file.txt
bash-2.05b$ echo "bahsha" > app/dir2/file.txt
bash-2.05b$ echo "bahsha" > app/dir3/file.txt
bash-2.05b$ echo "bahsha" > app/foo/file.txt
bash-2.05b$ echo "bahsha" > app/bar/file.txt
bash-2.05b$ echo "bahsha" > app/file.txt
...gives us a nice tree of files.
Import them into the CVS repository:
Code: Select all
cd app;cvs import app jonas start;cd ..
Edit the CVSROOT/modules file
Code: Select all
bash-2.05b$ cvs co CVSROOT/modules
U CVSROOT/modules
bash-2.05b$ nano CVSROOT/modules
Add this line to make a module alias where foo and bar are suppressed at checkout:
Code: Select all
application -a !app/foo !app/bar app
commit the CVSROOT/modules file
Code: Select all
bash-2.05b$ cvs commit -m "" CVSROOT/modules
Checking in CVSROOT/modules;
/var/cvsroot/CVSROOT/modules,v <-- modules
new revision: 1.11; previous revision: 1.10
done
cvs commit: Rebuilding administrative file database
Now, if we just checkout the directory as is,
we get it all:
Code: Select all
drwxr-xr-x 3 jonas jonas 96 Dec 1 15:55 CVSROOT
bash-2.05b$ cvs co app
U app/file.txt
U app/bar/file.txt
U app/dir1/file.txt
U app/dir2/file.txt
U app/dir3/file.txt
U app/foo/file.txt
Didn't want that... Delete:
Instead, checkout the alias module instead:
Code: Select all
bash-2.05b$ cvs co application
U app/file.txt
U app/dir1/file.txt
U app/dir2/file.txt
U app/dir3/file.txt
Voila!
foo and bar excluded. I we want them we just check them out individually:
Code: Select all
bash-2.05b$ cvs co app/bar
U app/bar/file.txt
bash-2.05b$
That's exactly what I wanted.
Thank you everybody!
