Besides the already discussed changes in our search, this time we’d like to tell about another version focus, our revised version control management. Since version 5.3, a couple of significant changes were demanded by some of our corporate users having extremely large source code repositories. By the term "scalable", in this context we mean that the new implementation scales well both with the number of repository entries (directories, files, branches and tags) and with the number of changes (history).
Notable changes and improvements include:
- SCM processing is executed in a background job. Importing or synchronizing repositories will not block the system. We have successfully tested the new implementation with the Linux kernel Git repository, with the size of about 30,000 files and 156,000 change sets. (Insider information: we are running a codeBeamer test instance on the Amazon EC2 infrastructure since it has much higher bandwidth to the Linux kernel repo than our development machines in Europe have. Did I mention codeBeamer is cloud compliant?)
- Source code synchronization sends notification emails. Those emails are sent for project members in case of failure and successful completion. They contain statistics like number of files and number of change sets processed, execution time and such.
- Huge performance improvements in processing large Git repositories. We developed a custom history processor primarily tuned and optimized for large repositories.