====== ClearCase Admin training ====== **Simulation of:** * importing sources to versioning system * finding differencies between releases in versioning system * creating custom branches, working on branches, merging file contents between branches * labeling file versions * merging directories **Tasks:** - Find some small open source project, which is available in more than two versions - Download two versions, for example 1.12.1, 1.13 - For each: * Import sources to one ClearCase directory using ''cc-import.pl'' \\ For example: ///vobs/training/`whoami`/$program_name/// * Label recursive complete vob with imported sources with label consisting 'program_name-version_number' - Find all files which differ between releases - Create branch type named 'CR015830' - Update your config spec to create checked out files at this new branch - Make some changes in sourcefiles/Makefiles, add some errors so the program cannot be compiled - Checkin the errors to branch CR015830 - Label complete vob with labelname 'program_name-version_number-hotfix01'; that is export LBNAME=program_name-version_number-hotfix01 cd /vobs/cm/training; ct mklbtype $LBNAME; ct mklabel -r $LBNAME . - Set your config spec to contain only 'element * program_name-version_number-hotfix01' and try to compile the program - Set your config spec back to the config spec that can work on branch - Repair the errors on branch; checkin the changes to branch - Add new target to Makefile (for example target 'test', so executing 'make test' should echo some message) - Label the complete vob (using your current config spec to select the appropriate version on branch) with labelname 'program_name-version_number-hotfix02' - Merge the Makefile from branch to ///main/LATEST// - Label sourcefiles on ///main/LATEST// with new release tag 'program_name-new_version_number'