Gerrit Productivity Hacks – Configure Jenkins to stop hammering your Gerrit server

As part of productivity hack blog series, this post is aimed towards Gerrit admins/Jenkins CI owners. This post will talk about how they can configure/tune systems they’re maintaining such that Gerrit servers will have less load caused by CI systems and make them capable of serving human users better. Jenkins usage pattern which can create load on Gerrit server Constant/Frequent Polling We all understand importance and benefits of a good Continuous Integration system. It all begins immediately with having a new source code change in the source code repository. We would want our CI system such as Jenkins to grab …

Read More »

10 Things You Should Know About Git Replication in the Enterprise

1. Git is distributed, isn’t replication a concept for centralized version control systems? You’re right, Git is a distributed version control system. However, most enterprises require their developers to synch their local work with central, “blessed” repositories. Those central synch points make sure no work is lost if a laptop gets stolen or damaged and developers only have to only know one place where they have to go to learn about their colleagues’ work results. The same applies to build/CI servers like Jenkins that will monitor and pull the latest source code from the blessed repository as well. Consequently, most …

Read More »

Stash your Trash – Keep GIT clean with Gerrit 2.10

Stash your Trash - Keep GIT clean - CollabNet

Garbage collection is really important, not just in the real world but also within your Git repositories. If you have lots of development activities going on, chances are very high that your Git clone and push operations will get slower and slower. Fortunately, the cure is simple: Run git garbage collection (git gc). We have seen examples where running gc cut clone and push times by more than 99 percent. Same goes for code browsing activities as well – Run git gc and list your branches online within milliseconds instead of seconds again. If Git garbage collection has so many …

Read More »

Bulletproof, Military Grade Security – Visualizing the Access Control Mechanisms of Your SCM Solution

Why visualize? Access control is probably not the most sexy or intuitive part of any SCM (source code management) solution. However, understanding how access control mechanisms work is crucial for any enterprise that has to protect its intellectual property. What makes things tricky is that any SCM solution on the planet claims to have proper, powerful, “military grade”, “bulletproof” access controls in place. Looking at the specifics, there are huge differences that can give you a competitive business advantage (or disadvantage). A framework that helps you to visualize the differences in the fine print is a way better approach to …

Read More »

Feature Hat-trick: Three new Git features for TeamForge in a week

The rule of three The rule of three also seems to apply to new TeamForge Git features. Last week, I blogged about the top three Git features coming with the new TeamForge 8.0 release.  In the same post, I already announced that another three Git features will be released immediately after the launch, so let’s inspect how this hat-trick looks like.   1. Assign an entire TeamForge Team to a Code Review with One click TeamForge 8.0 introduced teams as a native concept. If you like to add all team members to a Gerrit change (Git Code Review) at once, you can …

Read More »

Top 3 Git Features coming in TeamForge 8.0

CollabNet just released TeamForge 8.0 and with it some significant new features for our Git/Gerrit integration. Without further ado, let’s have a look into the top three. Define Git permissions globally: Site-wide role support for Gerrit As described in detail in my previous blog post, TeamForge project roles control access to all tools integrated in your development process, no matter whether you use Git, Subversion or both, how many servers you use or what your favorite issue tracker is. What happens if you like to define permissions across TeamForge projects on a global basis? Let’s say you have a group …

Read More »

Unexpected Pitfalls of CI/CD Automation: What Your PCI-DSS Guy Will Not Tell You, Part 2

As I promised in my last blog post, I would like to continue the topic of PCI-DSS 3.0, which has been in effect since January 2014. As the January 2015 deadline for meeting the 3.0 requirements rapidly approaches, many companies are working to address areas of the standard that were somewhat neglected in the 2.0 version, such as development tools and processes. It is important to continue developing a better understanding of the standard and its effect on use of development technologies in highly regulated industries. Let’s take a closer look at additional PCI-DSS 3.0 requirements. In my last blog …

Read More »

Here at last – How to permanently delete/recycle projects in Gerrit

If you are using CollabNet’s TeamForge Git Integration, you may have felt the need to delete few or more repositories hosted on Gerrit for various reasons: a) You want to delete repositories and all code reviews associated with it because you do not need the code any more and confuse users with its existance b) You just want to create a Git repository with the same name all over again after deleting the original one, IOW recycle the project name c) You want to save disk space If you simply deleted the Git repository from TeamForge’s Web UI, you would …

Read More »

CollabNet Gerrit Notifications – For all who miss the good ol’ git push notifications

The main feature of our latest TeamForge-Git-Integration (8.0.6) is a brand new notification plugin for Gerrit. This is exciting news to anybody who was used to the git push notifications of the git multimail script. It will also make sure you never miss an accidental git history rewrite again – even if you are not a Gerrit Administrator. This blog post explains the motivation behind this new feature and how to configure it. Motivation Gerrit is a very powerful Git server implementation. It introduces unmatched code review and access right enforcement capabilities. Gerrit is used in many mission critical, large …

Read More »

Gerrit Rebranding – The missing Guide to a customized Look & Feel

Our new Git/Gerrit integration for TeamForge has just been released and it is based on Open Source Gerrit 2.6.1. Its default appearance is quite light and lean (see picture below), but may not fit the visual policies of all our customers. This blog post covers Gerrit’s rebranding capabilities. All technical information is available in Gerrit’s official release documentation (here) – however it is scattered across different topics and is lacking practical usage examples. The following branding example results in a completely different visual appearance of Gerrit’s Web UI. The specific color choices are just for demonstration purposes not as a fashion …

Read More »