Open-Source Projects and their Collaborative Development Workflows
Authors:
Panuchart Bunyakiati,
Usa Sammapun
Abstract:
For teams using distributed version control systems, the right collaborative development workflows can help maintaining the long-term quality of project repositories and improving work efficiency. Despite the fact that the workflows are important, empirical evidence on how they are used and what impact they make on the project repositories is scarce. Most suggestions on the use of workflows are me…
▽ More
For teams using distributed version control systems, the right collaborative development workflows can help maintaining the long-term quality of project repositories and improving work efficiency. Despite the fact that the workflows are important, empirical evidence on how they are used and what impact they make on the project repositories is scarce. Most suggestions on the use of workflows are merely expert opinions. Often, there is only some anecdotal evidence that underpins those advices. As a result, we do not know what workflows are used, how the developers are using them, and what impact do they have on the project repositories. This work investigates the various collaborative development workflows in eight major open-source projects, identifies and analyses the workflows together with the structures of their project repositories, discusses their similarities and differences, and lays out the future works.
△ Less
Submitted 25 April, 2020; v1 submitted 2 September, 2019;
originally announced September 2019.
Cherry-Picking of Code Commits in Long-Running, Multi-release Software
Authors:
Panuchart Bunyakiati,
Chadarat Phipathananunth
Abstract:
This paper presents Tartarian, a tool that supports maintenance of software with long-running, multi-release branches in distributed version control systems. When new maintenance code, such as bug fixes and code improvement, is committed into a branch, it is likely that such code can be applied or reused with some other branches. To do so, a developer may manually identify a commit and cherry pick…
▽ More
This paper presents Tartarian, a tool that supports maintenance of software with long-running, multi-release branches in distributed version control systems. When new maintenance code, such as bug fixes and code improvement, is committed into a branch, it is likely that such code can be applied or reused with some other branches. To do so, a developer may manually identify a commit and cherry pick it. Tartarian can support this activity by providing commit hashtags, which the developer uses as metadata to specify their intentions when committing the code. With these tags, Tartarian uses dependency graph, that represents the dependency constraints of the branches, and Branch Identifier, which matches the commit hashtags with the dependency graph, to identify the applicable branches for the commits. Using Tartarian, developers may be able to maintain software with multiple releases more efficiently.
△ Less
Submitted 8 August, 2017;
originally announced August 2017.