Abstract

Modern version control systems facilitate concurrent work in software development by providing a mechanism to merge revisions that are independently modified by multiple programmers. However, merge conflicts might emerge due to concurrent modifications, and their resolution might require the programmers to scrutinize every modification in the revisions. This paper presents a tool that can alleviate this cumbersome task of merging conflicting revisions. Our tool exploits the fine-grained edit operation history of Java source code and extracts only the edit operations that affect the revision of a particular class member. By just replaying the extracted edit operations, it helps programmers detect merge conflicts between class members within the two revisions and understand the modifications of the conflicting class members. Moreover, it can artificially merge two snapshots that appear during the evolution of the two revisions and show the programmers a unique artificial snapshot that is consistent with both the merged snapshots. By replaying the fine-grained edits that cause merge conflicts and showing the apparent snapshots with no conflicts as hints of the merged revision, the tool reduces the burden of inspecting the code changes behind the conflicts and reconciling the conflicting revisions.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.