The IUP Journal of Electrical and Electronics Engineering
The Transition from Centralized (Subversion) VCS to Decentralized (Git) VCS: A Holistic Approach

Article Details
Pub. Date : Jan, 2019
Product Name : The IUP Journal of Electrical and Electronics Engineering
Product Type : Article
Product Code : IJEEE11901
Author Name : Vinay Singh, Alok Aggarwal, Adarsh Kumar and Shailendra Sanwal
Availability : YES
Subject/Domain : Management
Download Format : PDF Format
No. of Pages : 09

Price

Download
Abstract

In recent years, software development in software industries has witnessed a transition from Centralized Version Control Systems (CVCSs) to Decentralized Version Control Systems (DVCSs) due to a number of reasons like time, space, branching, merging, offline commits and builds and repository. Both centralized VCSs like subversion, mercurial, perforce, CVS, etc. and distributed VCSs like Git have gone through ample investigations in the recent past, but individually from the software developer’s point of view in a large commercial software industry. There has not been much focus on the transition across Git and Subversion. Git has a share of more than three-fourths of total VCS and Subversion has a share of 13.5%. The paper investigates the transition process from Subversion VCS to Git VCS. Two major tools, Svn2Git and SubGit, used for transition from Subversion to Git, have been explored in terms of cost, support, resources, safety, dependence, rework, data loss etc. None of the available migration tools, including Svn2Git and SubGit, has three capabilities, namely, pre-migration, during migration and post-migration capabilities, which are essential for a complete migration from Subversion to Git. All three capabilities are explored along with the research areas in Subversion and Git migration.


Description

Enormous growth has been witnessed during the last five decades by computers. Computers have evolved from very expensive hall-sized systems to large mainframes used by Fortune 500 companies, affordable personal computers, and to the most recent mobile and cloud computing on minimal devices. Memory and storage have always been very vital parts of any computer system, and as systems have modernized, file systems have been created and evolved in order to keep it up. Version control is often used by software developers which helps a software team to manage changes to source code over time. In a special kind of database, a trace is kept of every modification in the software by a Version Control System (VCS).


Keywords

Version Control System (VCS), Decentralized Version Control System (DVCS), Centralized Version Control System (CVCS), Transition, Svn2Git, SubGit, Premigration, Postmigration