Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Ultimately, the mechanics of a version control system (VCS) are the same for brown-field and greenfield applications. But when an app has been developed without a VCS, or the system in place has been used improperly, unnecessary problems due to disorganization can be a source of code contamination. If you’re working in an environment that doesn’t have a VCS in place, or if you’re looking at replacing an existing system, knowing what products are currently on the market will help you choose the right one for your situation. Each product brings its own list of features to the table. In this section, we’ll look at which features should be required in any system, as well as some that, although not mandatory, may reduce friction in your team.
First we’ll discuss the three features that you should always demand in a VCS. But don’t expect the discussion to trim down your options when shopping for one. Most, if not all, VCS products include the following in their list of features. That said, it’s handy to review it as we’ll talk about some of these features later in the chapter.