Abstract:
GitHub is a web-based, distributed Software Configuration Management (SCM) system build over Git, which enables developers to host shared repositories over the Internet and access them from any location, at any time. It helps developers to effectively orchestrate their activities over shared codebases by capturing direct conflicts arising because of concurrent editing on the same shared artifact. However, SCM systems have limited support for capturing inconsistencies arising because of indirect conflicts which arise because of software dependency relationships that exist between related artifacts, and lead to the introduction of syntactic and semantic inconsistencies in codebases.
In this paper, we propose a novel collaborative software development (CSD) tool named, Collaboration Over GitHub (COG), that provides real-time information about arising direct and indirect conflicts among collaborative developers, working over GitHub, through a collection of workspace awareness widgets. These widgets provide people-centric information about direct and indirect collaborators over GitHub. Resource-centric information about current and conflicting activities of real-time collaborators is captured and propagated to others, based on the dependency relationships between software artifacts being manipulated by them.