Motivation: We did just have an incident where someone made erroneous changes to a test, and although the new test was reviewed by another physicists, the errors went un-noticed
Main proposal: track changes to tests within Admin, display interface like Git difference outputs on Github.
Secondary proposal: Selectively import and export tests via API and run git version control on these files
From the whitepaper: Because of its cheap branching abilities, Git encourages developers to make smaller commits, more often, making merging a lot easier and less scary. Before merging to master, a developer can commit their code locally to ensure it works, preserving the quality of the master code base.
When coupled with a source code management tool like GitLab, you can enhance merging capabilities with a user interface that allows you to review and comment on changes on branches before merging. At GitLab, we call this a merge request and run continuous integration on every branch as an additional quality gate to ensure everything that goes into the master code base works. With GitLab branching and merging, you can even protect branches to prevent merges that aren’t ready, and apply merge request approvals for an added layer of security.