We have a huge codebase with around 27000 files in ClearCase UCM. Our build process is as follows:
- Copy files from the dynamic view of the stream to the local machine(say directory
D:\ABC
) - Start compilation
The next time we compile we clean up D:\ABC
and repeat the above process. The copying takes around 50 minutes.
The reasons we prefer dynamic views over snapshot views are:
- We can always be sure that we are using the latest code
- We generate a lot of code and modify a few existing ones during compilation. This may turn snapshot views dirty.
- We are saved from the trouble of cleaning up the snapshot views, rebasing it etc...
The troubles with snapshot views are:
- We need to clean-up the code we generated for the last build(these are shown as view-private)
- We need to undo hijack(we remove read-only for some files as they have to be modified at compile-time)
- We have to clean up the output directories and files therein, created by Visual Studio during compilation
- We need to rebase the snapshot view every time we intend to compile
- We do not trust the snapshot view's cleanliness
My questions:
- Are we doing the right thing by copying files from the dynamic views?
- I wanted to know if there is some way we can use snapshot views and still be sure about it being clean?
- Is there any other option or best practices that we can adopt to improve our process?
Any help would be appreciated.