Part II. Version Control Tools

“You ought to see that bird from here,” said Rabbit. “Unless it’s a fish.” “It isn’t a fish, it’s a bird,” said Piglet. “So it is,” said Rabbit. “Is it a starling or a blackbird?” said Pooh. “That’s the whole question,” said Rabbit. “Is it a blackbird or a starling?”

“Kanga and Baby Roo Come to the Forest,” Winnie the Pooh, A. A. Milne

In all things, it is useful to know exactly what you are dealing with at any point in time. In software development, where source code is changing perpetually, this is particularly important. This is why version control systems play such a crucial role in modern software development environments. The advantages of using such a system are well known. A well-designed version control solution facilitates teamwork by allowing many developers to work on the same project (or even the same files) simultaneously without stepping on each other’s toes. It provides a central place to store your application source code as well as a reliable history of the changes that have been made over the life of the project. It also allows developers to return to a previous stable version of the source code if need be. And it allows developers to identify (or “tag”) a particular version of the source code, such as for a particular release. In modern development environments, version control systems are an essential building brick for more sophisticated techniques such as Continuous Integration (see Chapters 5, 6, and 7).

In Java projects, the two most prominent open source version control systems are, without a doubt, CVS and Subversion. The venerable open source tool CVS is widely used in many organizations. Subversion, its natural successor, is rapidly gaining ground in new Java projects because of its features, which are aguably better adapted to modern development practices than CVS.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.148.105