1. Introduction1.1 BackgroundModern software contains hundreds of lines of code and can be developed by multiple developers at the same time. Based on this, the need for a version control system that tracks the work and controls it becomes crucial (Ruparelia N., 2010). This vital role of version control system could help improve performance, on the other hand, it could be a source of frustration (Rosso and Jackson, 2013). The history of version control systems first emerged as local version control systems. These systems were mainly used to copy files to another directory. Later, centralized version control systems appeared that made collaboration with developers of other systems possible. This system was implemented by having a single server that contained all versioned files and a number of clients. To avoid the inconveniences of centralization, distributed version control systems have been developed, Git is one of them. These systems allow customers to have their own copies of the entire repository. (Chacon, 2009). ClearCase and Git are two of the most popular version control systems. The first one launched in the 1990s by IBM that supports parallel and geographically distributed software development (Allen L. et al., 1995). While the later was launched in 2005 and adopted by Linux developers as a free and open source distributed version control system (Ruparelia N., 2010). According to O'sullivan (2009), choosing a version control system is a significant process for every company that needs one. It should fit the type of work the company does. Additionally, as a software developer, replacing one version control system with another could impact your development environment. For example, replacing ClearCase with Git could bring challenges and benefits. A study conducted by De Rosso and Jackson (2013) attempted to shed light on the root causes of Git's complexity by analyzing its conceptual model and identifying some undesirable properties. However, no research has been conducted to address the differences between these two systems or the challenges and benefits associated with each. This lack of knowledge raises the question of how to understand whether this replacement is a step towards a better development environment or not. However, if these benefits and challenges were clearly addressed, then the questions could be easily answered. 1.2 Research Objectives This study described the potential practical advantages and disadvantages that result from using Git instead of ClearCase as a version control system from the perspective of software developers.
tags