Journal Article

An Analysis of Merge Conflicts and Resolutions in Git-based Open Source Projects

Loading...
Thumbnail Image

Fulltext URI

Document type

Text/Journal Article

Additional Information

Date

Journal Title

Journal ISSN

Volume Title

Publisher

Springer, London

Abstract

Version control systems such as Git support parallel collaborative work and became very widespread in the open-source community. Whilst Git offers some very interesting features, resolving conflicts that arise during synchronisation of parallel changes is a time-consuming task. In this paper we present an analysis of concurrency and conflicts in official Git repository of four projects: Rails, IkiWiki, Samba and Linux Kernel. We analyse the collaboration process of these projects at specific periods revealing how change integration and conflict rates vary during project development life-cycle. We also analyse how often users decide to rollback to previous document version when the integration process generates conflicts. Finally, we discuss the mechanism adopted by Git to consider changes made on two continuous lines as conflicting.

Description

Nguyen, Hoai-Le; Ignat, Claudia-Lavinia (2018): An Analysis of Merge Conflicts and Resolutions in Git-based Open Source Projects. Computer Supported Cooperative Work 27(3-4)- ECSCW 2018: Proceedings of the 16th European Conference on Computer Supported Cooperative Work. DOI: 10.1007/s10606-018-9323-3. Springer, London. PISSN: ISSN 0925-9724. Long Papers. Nancy, France. 4-8 June 2018

Keywords

Version control systems, Parallel work, Conflicts

Citation

URI

URI

Endorsement

Review

Supplemented By

Referenced By


Number of citations to item: 17

  • Bowen Shen, Muhammad Ali Gulzar, Fei He, Na Meng (2023): A Characterization Study of Merge Conflicts in Java Projects, In: ACM Transactions on Software Engineering and Methodology 2(32), doi:10.1145/3546944
  • Bo Shen, Wei Zhang, Ailun Yu, Yifan Shi, Haiyan Zhao, Zhi Jin (2021): SoManyConflicts: Resolve Many Merge Conflicts Interactively and Systematically, In: 2021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE), doi:10.1109/ase51524.2021.9678937
  • Hoai Le Nguyen, Claudia-Lavinia Ignat (2020): Time-Position Characterization of Conflicts: A Case Study of Collaborative Editing, In: Lecture Notes in Computer Science, doi:10.1007/978-3-030-58157-2_5
  • Chaochao Shen, Wenhua Yang, Minxue Pan, Yu Zhou (2023): Git Merge Conflict Resolution Leveraging Strategy Classification and LLM, In: 2023 IEEE 23rd International Conference on Software Quality, Reliability, and Security (QRS), doi:10.1109/qrs60937.2023.00031
  • Shuai Wang, Xinyu Lian, Darko Marinov, Tianyin Xu (2023): Test Selection for Unified Regression Testing, In: 2023 IEEE/ACM 45th International Conference on Software Engineering (ICSE), doi:10.1109/icse48619.2023.00145
  • Tao Ji, Liqian Chen, Xin Yi, Xiaoguang Mao (2020): Understanding Merge Conflicts and Resolutions in Git Rebases, In: 2020 IEEE 31st International Symposium on Software Reliability Engineering (ISSRE), doi:10.1109/issre5003.2020.00016
  • Haitao Jia, Wenhua Yang, Chaochao Shen, Minxue Pan, Yu Zhou (2023): Git command recommendations using crowd-sourced knowledge, In: Information and Software Technology, doi:10.1016/j.infsof.2023.107199
  • Adrian Hoff, Thomas Hoffmann Kilbak, Leonel Merino, Mircea Lungu (2024): GitTruck@Duck - Interactive Time Range Selection in Hierarchy-Oriented Polymetric Visualization of Git Repository Evolution, In: 2024 IEEE International Conference on Software Maintenance and Evolution (ICSME), doi:10.1109/icsme58944.2024.00090
  • Piero Fraternali, Sergio Luis Herrera Gonzalez, Mohammad Manan Tariq (2020): Almost Rerere: An Approach for Automating Conflict Resolution from Similar Resolved Conflicts, In: Lecture Notes in Computer Science, doi:10.1007/978-3-030-50578-3_16
  • Guido Conaldi, Riccardo De Vita, Stefano Ghinoi, Dawn Marie Foster (2023): Virtual collaborative spaces: a case study on the antecedents of collaboration in an open‐source software community, In: R&D Management 2(54), doi:10.1111/radm.12599
  • Bo Shen, Wei Zhang, Haiyan Zhao, Guangtai Liang, Zhi Jin, Qianxiang Wang (2019): IntelliMerge: a refactoring-aware software merging technique, In: Proceedings of the ACM on Programming Languages OOPSLA(3), doi:10.1145/3360596
  • Arthur Roberto Marcondes, Ricardo Terra (2020): An approach for updating forks against the original project, In: Proceedings of the XXXIV Brazilian Symposium on Software Engineering, doi:10.1145/3422392.3422414
  • Waad Aldndni, Na Meng, Francisco Servant (2023): Automatic prediction of developers’ resolutions for software merge conflicts, In: Journal of Systems and Software, doi:10.1016/j.jss.2023.111836
  • Bowen Shen, Na Meng (2024): ConflictBench: A benchmark to evaluate software merge tools, In: Journal of Systems and Software, doi:10.1016/j.jss.2024.112084
  • Waad Aldndni, Francisco Servant, Na Meng (2024): Understanding the Impact of Branch Edit Features for the Automatic Prediction of Merge Conflict Resolutions, In: Proceedings of the 32nd IEEE/ACM International Conference on Program Comprehension, doi:10.1145/3643916.3644433
  • Sergio Luis Herrera Gonzalez, Piero Fraternali (2023): Almost Rerere: Learning to Resolve Conflicts in Distributed Projects, In: IEEE Transactions on Software Engineering 4(49), doi:10.1109/tse.2022.3215289
  • Bowen Shen, Na Meng (2023): Conflictbench: A Benchmark to Evaluate Software Merge Tools, doi:10.2139/ssrn.4529909
Please note: Providing information about citations is only possible thanks to to the open metadata APIs provided by crossref.org and opencitations.net. These lists may be incomplete due to unavailable citation data.source: opencitations.net, crossref.org