What’s New? Coverage of the CollabNet and VersionOne Merger

In case you haven’t heard, we recently announced our merger with VersionOne! With this merger, we now offer the industry’s most complete Enterprise Agile, ALM Collaboration, Version Control and DevOps solutions for enterprises and government agencies. By helping clients deliver the highest quality software applications at speed, they in turn can kick innovation into high-gear. We’re excited to embark on this new journey with VersionOne, and we aren’t the only ones. Since announcing, we have seen some great stories come through from some of the most revered publications in the industry. If you want to learn more about the merger …

Read More »

Gerrit Productivity Hack – Handling Large Binary Files with Gerrit, Artifactory and Git LFS


Handling large binary files with Git is a performance pain. You can work around the problem by some proper Gerrit tuning and restructuring your build scripts so that they fetch binaries from an artifact repository instead of having them part of the repo. With Git LFS, there is another approach available that does not require any changes to your build process or Git server configuration. The Gerrit and JGit communities are still working on built-in Git LFS support, but I thought it makes sense to show how Gerrit can be used with a separate Git LFS backend – Artifactory – …

Read More »

Why Your Enterprise Needs a Git Strategy (Part 2)

Git Strategy 1 image

Having a plan for adopting Git for your enterprise can lead to great results In part two of our blog series (read Part 1) we share tips of adopting and scaling Git in the enterprise. When considering enterprise-wide Git adoption, it is not enough to only evaluate the SCM needs of your organization. The strategy should view Git as a vital part of the application lifecycle management (ALM) platform. Most Git solutions today have both SCM and ALM capabilities and claim readiness for enterprise-scale Git deployment. There are a few fundamental requirements that your strategy must address to make Git …

Read More »

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 »

Summary of the first Berlin Gerrit Hackathon

Hacking the Gerrit

Between 8th and 12th of September 2014, first Berlin based Gerrit Hackathon took place. It was joined effort of CollabNet, Elego and Aservo to host it. Our event attracted 16 people from various companies, including four Gerrit maintainers. Here is full list of participants: Dave Borowitz (maintainer) (Google), David Pursehouse (maintainer) (Sony Mobile), Saša Živkov (maintainer) (SAP), Edwin Kempin (maintainer) (SAP), Sven Selberg (Sony Mobile), Gustaf Lundh (Sony Mobile), Khai Do (OpenStack / IBM), Christian Aistleitner (Individual), David Ostrovsky (Individual), Deniz Türkoglu (Spotify), Carlos Martín Nieto (Elego), Eryk Szymanski (CollabNet), Jacek Centkowski (CollabNet), Johannes Nicolai (CollabNet), Dharmesh Sheta (CollabNet), Dariusz …

Read More »

Git and Agile Development with CloudForge and TeamForge

Git and Agile Development with CloudForge and TeamForge Platforms In this blog I will show you how to add TeamForge to your free CloudForge project and start taking advantage of the powerful collaboration and development tools that make TeamForge the industry leading Agile application lifecycle management platform.  This blog is intended to be a follow up to my earlier blog, Intro to GitEye and CloudForge.  If you wish to follow along with this blog, it is assumed that you have already installed GitEye, signed up for a free CloudForge account, created a CloudForge project, and added Git to your project.  If not, …

Read More »

Git Repository Replication with Gerrit and TeamForge


Update: Git Replication is now a built-in feature in TeamForge 8.1 Why do we need replication in general? There are several scenarios in which it is quite handy to have a repository whose version history is exactly the same as the one it mirrors. Perhaps the most obvious one is the maintenance of a simple backup repository, used when the primary repository has become inaccessible due to a hardware failure, network outage, or other annoyances. Other scenarios include deploying mirror repositories to distribute heavy load across multiple servers. We’re using Git, a DVCS. We don’t need replication. Do we? Depending …

Read More »

Repository Dictated Configuration — Part 3 of 3: Global Ignores


Global Ignores Welcome to the last topic in my three part series on repository dictated configuration (RDC).  In part 2 we talked about the new svn:auto-props property.  Today we’ll discuss the other new inherited property that involves RDC, svn:global-ignores. Ignoring Unversioned Items Before 1.8 Once again, this is just a quick refresher, if none of this sounds familiar, then give this section of the Version Control with Subversion book a quick read. Up until 1.7 there were two ways to prevent the svn add and import subcommands from adding certain items we didn’t want to place under version control (as …

Read More »