cc 15(6): e1

Research Article

Merging By Decentralized Eventual Consistency Algorithms

Download245 downloads
  • @ARTICLE{10.4108/eai.21-12-2015.150817,
        author={Ahmed-Nacer Mehdi and Pascal Urso and Fran\`{e}ois Charoy},
        title={Merging By Decentralized Eventual Consistency Algorithms},
        journal={EAI Endorsed Transactions on Collaborative Computing},
        volume={1},
        number={6},
        publisher={EAI},
        journal_a={CC},
        year={2015},
        month={12},
        keywords={Operational Transformation, Commutative Replicated Data Types, collaborative editing, merging interfering, merge procedure, conflicts.},
        doi={10.4108/eai.21-12-2015.150817}
    }
    
  • Ahmed-Nacer Mehdi
    Pascal Urso
    François Charoy
    Year: 2015
    Merging By Decentralized Eventual Consistency Algorithms
    CC
    EAI
    DOI: 10.4108/eai.21-12-2015.150817
Ahmed-Nacer Mehdi1,*, Pascal Urso1, François Charoy1
  • 1: Université de Lorraine, INRIA, LORIA.
*Contact email: mehdi.ahmed-nacer@loria.fr

Abstract

Merging mechanism is an essential operation for version control systems. When each member of collaborative development works on an individual copy of the project, software merging allows to reconcile modifications made concurrently as well as managing software change through branching. The collaborative system is in charge to propose a merge result that includes user’s modifications. Theusers now have to check and adapt this result. The adaptation should be as effort-less as possible, otherwise, the users may get frustrated and will quit the collaboration. This paper aims to reduce the conflicts during the collaboration and im prove the productivity. It has three objectives: study the users’ behavior during the collaboration, evaluate the quality of textual merging results produced by specific algorithms and propose a solution to improve the r esult quality produced by the default merge tool of distributed version control systems. Through a study of eight open-source repositories totaling more than 3 million lines of code, we observe the behavior of the concurrent modifications during t he merge p rocedure. We i dentified when th e ex isting merge techniques under-perform, and we propose solutions to improve the quality of the merge. We finally compare with the traditional merge tool through a large corpus of collaborative editing.