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

dc.contributor.authorNguyen, Hoai Le
dc.contributor.authorIgnat, Claudia-Lavinia
dc.date.accessioned2020-06-06T13:06:15Z
dc.date.available2020-06-06T13:06:15Z
dc.date.issued2018
dc.date.issued2018
dc.description.abstractVersion 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.de
dc.identifier.doi10.1007/s10606-018-9323-3
dc.identifier.pissn1573-7551
dc.identifier.urihttp://dx.doi.org/10.1007/s10606-018-9323-3
dc.identifier.urihttps://dl.eusset.eu/handle/20.500.12015/3776
dc.publisherSpringer
dc.relation.ispartofComputer Supported Cooperative Work (CSCW): Vol. 27, No. 3-6
dc.relation.ispartofseriesComputer Supported Cooperative Work (CSCW)
dc.subjectConflicts
dc.subjectParallel work
dc.subjectVersion control systems
dc.titleAn Analysis of Merge Conflicts and Resolutions in Git-Based Open Source Projectsde
dc.typeText/Journal Article
gi.citation.endPage765
gi.citation.startPage741
gi.citations.count16
gi.citations.elementBowen Shen, Na Meng (2023): Conflictbench: A Benchmark to Evaluate Software Merge Tools, doi:10.2139/ssrn.4529909
gi.citations.elementWaad 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
gi.citations.elementArthur 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
gi.citations.elementWaad 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
gi.citations.elementBo 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
gi.citations.elementPiero 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
gi.citations.elementTao 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
gi.citations.elementChaochao 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
gi.citations.elementHoai 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
gi.citations.elementHaitao 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
gi.citations.elementBowen 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
gi.citations.elementShuai 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
gi.citations.elementBo 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
gi.citations.elementSergio 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
gi.citations.elementGuido 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
gi.citations.elementBowen 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

Files