Collaboration and version control - using CVS - week 1&2:

The first part of the lab exercises will be an introduction to concepts and principles in collaboration and version control exemplified by the tool CVS. We will get the system up and running and try out some strategies and possibilities for coordination between developers.

We will also explore the support CVS gives for parallel development. We try out the different possibilities for parallel development and how CVS handles them. In particular we will investigate how merges are done and how to best handle merge conflicts.

The second part of the lab exercises will explore CVS and its possibilities for supporting the company. Furthermore, we will continue to investigate what more it can do to support the team and the individual developer.

We will explore the support CVS gives for creating baselines and releases and for handling branches. In particular, we will create a branch to maintain a release that we make at the beginning of this lab. Then we go on to investigate the different possibilities that CVS gives to enhance awareness within a group of developers.

Since you are doing the full version of the lab, you should carry out all the tasks described in the lab instructions (both O. and C. tasks). Based on your experiments with CVS you should write a short (3-4 pages) report where you reflect on your experience with:

In the context of the lectures on the construction site and distributed development (theme 2a), reflect on the following two questions and write a few lines about your opinion for each in your lab report:

Finally, in your CVS report also state how far you got in the lab (in case you did not finish all tasks) and document very briefly any problems you have encountered during the lab. This for two reasons:

Remember that you have roughly 10 hours in total to complete your work: 1 hour of preparation - 6 hours of active experimentation and note taking - 3 hours of discussions, reflection and report writing.

Email your lab report to bendix@cs.lth.se before the deadline.

Literature

Lab preparation:

Useful links:

For the next lab we will move on to Perforce and investigate and explore how that tool handles similar situations.

Here is an example of a good CVS-report from this year - read and use as inspiration for how you can write an even better Perforce lab report.

After you have written your lab report for CVS, you should read this paper (in the Perforce material):

This will give you an idea of what other things you could carry out to experiment with and evaluate version control tools. Use it as inspiration and bring it with you to the following labs together with the CVS lab instructions which give the basic experiments.

Quote of the day:

A source code control system [is] a giant UNDO key - a project-wide time machine - Andy Hunt and Dave Thomas.


Updated October 28, 2023