Search code examples
build-processbuild-automationclearcaseclearcase-ucm

checkin or not checkin which will be preferred in clearcase UCM?


In our build system ,once build is over ,assemblies also will be check-in . But When we were moving to UCM , architects divided in this opininon. Few people supported check-in the compiled assemblies and msi and few were opposing it.

when we were check-in ,we simply do symlinks and it gave us great advantage. Moreover when check-in was done ,it will be removing entries from bin and release folder instead of copy. It helped us lot. Every day people were able to work with latest assemblies check-in by nightly build. Now they are not able to do that. They want me to copy the Nightly build dll to some common place.

On other hands due to every day check-in our repository grows humungous.

I don't know what was the best option.

Can you share your thoughts about which method is better? Is it better to check-in assemblies in UCM/Clearcase or not?


Solution

  • AS a practice, all build outputs should not be kept under source control. But, you have to keep them on a common place until they expire. The philosophy behind this practice is:

    1. The repository size gets larger as you add binaries to it.
    2. The old versions of an assembly produced in a nightly build (belongs to 2 years ago) are useless. On the other hand, the old version of source codes and its history are useful all the time.
    3. In addition to the build results, software products are usually dependent to third party components. These third party components are usually evolved and their newer versions are usually released. Keeping build results in the source control, you have to keep the right version of third party components somewhere else.