WorkingWithNetBeansSourcesPre61
Some general tips can be found in WorkingWithNetBeansSources but that applies to newer NetBeans sources (release 6.1 and later). To work with older NetBeans sources (up to release 6.0), you will need CVS.
CVS access
Use this CVSROOT (e.g. for -d option): :pserver:<username>@cvs.netbeans.org:/cvs (Replace <username> with your netbeans.org account name.)
export CVSROOT=:pserver:<username>@cvs.netbeans.org:/cvs
Anonymous access is possible with username anoncvs and an empty password.
export CVSROOT=:pserver:anoncvs@cvs.netbeans.org:/cvs
It is also important to always run cvs checkout with -P and cvs update with -Pd flags. If you don't do this your build will fail. Check your CVS documentation for the meanings of those flags. You may wish to create a .cvsrc file so you do not have to remember these flags for every command. For example:
cvs -z3 -q update -d -P checkout -P diff -u rdiff -u tag -c
The whole source tree
If you want everything, do this:
mkdir nbsrc cd nbsrc cvs checkout -r release60 nbbuild ant -f nbbuild/build.xml checkout ant -f nbbuild/build.xml ant -f nbbuild/build.xml clean
ant checkout will do the right thing, i.e. it will check out the rest of the source tree from the same branch/tag where nbbuild is coming from.
To work on a specific cluster you need to have modules in that cluster checked out from CVS and also clusters which your cluster depends on. You can check out nbbuild and then ant checkout with the right cluster config.
Checkout from branch and/or using timestamp
All you have to do is to checkout the nbbuild module from appropriate branch using appropriate timestamp. The rest is automatically handled by the checkout target from nbbuild/build.xml
For example get sources for NetBeans 6.0 Milestone 10:
mkdir nbsrc cd nbsrc cvs checkout -rrelease60-m10 -D"2007/06/28 14:31 UTC" nbbuild ant -f nbbuild/build.xml checkout
The rest of build procedure is the same as above. Information about tag/branch and timestamp is stored in file nbbuild/CVS/Tag

