Open Access iconOpen Access



A Holistic, Proactive and Novel Approach for Pre, During and Post Migration Validation from Subversion to Git

Vinay Singh1, Mohammed Alshehri2,*, Alok Aggarwal3, Osama Alfarraj4, Purushottam Sharma5, K. R. Pardasani6

1 School of Computer Science, University of Petroleum & Energy Studies, Dehradun, India
2 Department of Information Technology, College of Computer and Information Sciences, Majmaah University, Majmaah, 11952, Saudi Arabia
3 School of Computer Science, University of Petroleum & Energy Studies, Dehradun, India
4 Computer Science Department, Community College, King Saud University, Riyadh, Saudi Arabia
5 Amity School of Engineering & Technology, Amity University, Uttar Pradesh, Noida, India
6 Department of Mathematics, Bioinformatics & Computer Applications, Maulana Azad National Institute of Technology, Bhopal, 462003, India

* Corresponding Author: Mohammed Alshehri. Email: email

(This article belongs to this Special Issue: Emerging Computational Intelligence Technologies for Software Engineering: Paradigms, Principles and Applications)

Computers, Materials & Continua 2021, 66(3), 2359-2371.


Software development is getting a transition from centralized version control systems (CVCSs) like Subversion to decentralized version control systems (DVCDs) like Git due to lesser efficiency of former in terms of branching, fusion, time, space, merging, offline commits & builds and repository, etc. Git is having a share of 77% of total VCS, followed by Subversion with a share of 13.5%. The majority of software industries are getting a migration from Subversion to Git. Only a few migration tools are available in the software industry. Still, these too lack in many features like lack of identifying the empty directories as pre-migration check, failover capabilities during migration due to network failure or disk space issue, and detailed report generation as post-migration steps. In this work, a holistic, proactive and novel approach has been presented for pre/during/post-migration validation from Subversion to Git. Many scripts have been developed and executed run-time over various projects for overcoming the limitations of existing migration software tools for a Subversion to Git migration. During pre-migration, none of the available migration tools has the capability to fetch empty directories of Subversion, which results in an incomplete migration from Subversion to Git. Many Scripts have been developed and executed for pre-migration validation and migration preparation, which overcomes the problem of incomplete migration. Experimentation was conducted in SRLC Software Research Lab, Chicago, USA. During the migration process, in case of loss of network connection or due to any other reason, if migration stops or breaks, available migration tools do not have capabilities to start over from the same point where it left. Various Scripts have been developed and executed to keep the migration revision history in the cache (elastic cache) to start from the same point where it was left due to connection failure. During post-migration, none of the available version control migration tools generate a detailed report giving information about the total size of source Subversion repositories, the total volume of data migrated to destination repositories in Git, total number of pools migrated, time taken for migration, number of Subversion users with email notification, etc. Various Scripts have been developed and executed for the above purpose during the post-migration process.


Cite This Article

V. Singh, M. Alshehri, A. Aggarwal, O. Alfarraj, P. Sharma et al., "A holistic, proactive and novel approach for pre, during and post migration validation from subversion to git," Computers, Materials & Continua, vol. 66, no.3, pp. 2359–2371, 2021.

cc This work is licensed under a Creative Commons Attribution 4.0 International License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
  • 2208


  • 1357


  • 0


Share Link