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)

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 Hackathon at Google HQ… next one is coming

As always after the Gerrit User Summit, a Gerrit hackathon took place. This time it was a five days event (9-11 November 2015), where members of the Gerrit community could work together, fully focused on making Gerrit a better software. 2015 edition gathered 15 participants from various companies like Google, SAP, Sony Mobile, Qualcomm, OpenStack, Axis Communications, Gerritforge and of course CollabNet. Hackathons are really intensive periods of time for Gerrit project: over 400 patches were merged, three releases (2.11.5 and two release candidates of 2.12) were performed, countless number of open changes and patchsets were pushed for review. This …

Read More »

Installing Jenkins for Use with TeamForge

This week I was working with a customer, helping to set up a sandbox environment for them, including helping them to build a local Jenkins server to use with TeamForge.  I’ve done this a few times now, but every time I end up back in the same places, figuring out the same things over again so this time, I’m going to document it for me, and for you.  There’s a pretty good chance, I think, that I’ll end up doing this again for a proof of concept with a prospective customer one day, so having this information handy will be… …

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 »

Scaling Compliance with Git: What Your PCI-DSS Guy Will Not Tell You, Part 3

I would like to continue exploring the PCI-DSS 3.0 requirements and their relevance for Git administration. Development tools and processes were not in the focus of the PCI-DSS 3.0 before, but in the 3.0 version of the standard, there are some implications. In my previous two blog posts I shared a story of my friend who is currently exploring the possibility of migrating from Subversion to Git and is in the process of understanding the impact of PCI-DSS on their SCM technology choice and the project scope. As their project progressed, they found that what they initially thought to be …

Read More »