Configuring TeamForge Git Integration with Git LFS using AWS S3

Welcome to the third blog in the series on how to configure TeamForge with Gerrit replication enabled. In the first blog post, I have explained the problem of Git LFS data in context of replication and proposed a solution with AWS S3 Bucket Cross Region Replication (CRR). In the second blog post we went through the process of setting up the CRR between two regions. Now it is time to configure our Gerrit servers to make use of this setup. Next, we will discuss the migration of the existing data from the file system to the S3 bucket. Finally, we …

Read More »

Setup S3 buckets with Cross Region Replication

This is the second blog post in our series related to the configuring replication with Git LFS using Amazon S3 Bucket. In the first blog we have discussed what are the implications of using Git LFS together with replication and how to improve it. Before we begin I would like to thank my colleague Logarajan. Logarajan has helped me a lot and co-authored this post. This time, we are going to set up the Git LFS data replication. We will use S3 Cross Region Replication (CRR) feature to replicate the objects from one S3 bucket to another. That way the …

Read More »

Version Control Best Practices for Software Organizations

Though version control is an essential part of any software development organization’s day-to-day routine, not all teams understand how to best leverage the tools available. Whether your organization is using Subversion, Git or any other tool to protect and manage your company’s valuable software assets, there are a number of ways to maximize those investments and save your teams time and effort. In my last post I shared some best practices for developers when it comes to using version control systems. There are also a number of tips and tricks of the trade that organizations and managers can employ to …

Read More »

7 Version Control Best Practices for Developers

In my last post, Don’t Underestimate the Importance of Version Control, I outlined some of the basics of why version control is important. Version control saves versions of code which can then be reused, or in case of issues, applications can be reverted to older working versions. Popular version control solutions used today are Git, Subversion (SVN), Perforce and others. Version Control is vital at the enterprise software development level where you have a vast number of disparate teams. It is an every-day part of the developer’s routine, but also helps organizations achieve some high-level business goals such as increasing …

Read More »

Don’t Underestimate the Importance of Version Control

Let’s be honest, version control isn’t exactly a topic you would bring up at a dinner party to spice up the conversation. Managing file versions and meticulously reviewing code for errors can be a dull subject. In fact, it rarely makes the headlines — even in software development news when there are far more exciting trends to cover like AI or the latest Apple device hitting the market. But much like no one really talks about putting on clean socks in the morning, setting an alarm at night or looking both ways before crossing the street, version control is an …

Read More »

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)

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 »