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

featured_image

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 »

Why Your Enterprise Needs a Git Strategy (Part 1)

Git Strategy 1 image

A governed adoption of Git can help speed up software development, while ensuring the security of source code. In the first of a two-part blog series we assess the status of Git in the enterprise and discuss major challenges to its adoption. Git is the world’s leading distributed source code management (SCM) system. In a recent CollabNet survey, 87% of the 838 respondents polled indicated that their enterprises either already use or have plans to deploy Git. With its flexibility, speed, and powerful branching and merging capabilities, Git represents an opportunity for global enterprises to drive productivity and accelerate application …

Read More »

10 Things You Should Know About Git Replication in the Enterprise

featuredimage

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 »

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

Who-can-access-What

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 »

Repository Dictated Configuration — Part 3 of 3: Global Ignores

iprops

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 »

Repository Dictated Configuration — Part 2 of 3: Autoprops

iprops

Automatic Properties In part 1 I talked about the new inheritable properties feature in Subversion 1.8.  I promised that this feature would pave the way for repository dictated configuration (RDC).  Today I’ll show you the first part of 1.8’s RDC related features, the new svn:auto-props property. Wait…What is RDC Exactly? Subversion provides an extensive set of user configurable options which control various aspects of a Subversion client’s operations.  For repositories with only a small handful of committers in the same location, manually synchronizing these configurations is probably not too difficult.  For larger and/or distributed groups however, ensuring that everyone has …

Read More »

Repository Dictated Configuration — Part 1 of 3: Inheritable Properties

iprops

Bait-and-switch warning: Despite the title, I won’t talk about repository dictated configuration (RDC) today at any great length.  Rather, I’ll talk about the new inherited properties feature, which RDC is built upon, in the hope that it will provide a more complete understanding.  In part 2, I’ll move on to the details of RDC proper. Property Inheritance Even the most casual user of Subversion is likely familiar with versioned properties.  These name:value pairs of metadata are assigned to files or directories.  Some (those properties whose names begin with “svn:“) are attributed special meaning by, and trigger specific behaviors in, Subversion …

Read More »

Introducing CollabNet GitEye

GitEye Logo

Today I have the pleasure of announcing a new graphical client for Git that we have been working on — CollabNet GitEye. GitEye is a Java GUI client for Git written on top of the Eclipse RCP framework. We are providing downloads for Windows, OSX and Linux though we can theoretically produce builds for a few other operating systems as well if the demand is there. Leveraging the Eclipse RCP framework allows us to provide a native GUI experience on all of these different operating systems, while still benefiting from the cross platform nature of Java. This approach also allows …

Read More »

How GitHub is Impeding Enterprise Git Adoption

Git

Over 3,000 corporate email addresses compromised. Private SSH keys and passwords publicly disclosed. Major systems outages every few weeks (here and here and here). No, those are not the news from some dubious shopping site. But from a site supposed to manage intellectual property (IP), in form of software code. As Gartner points out, enterprises already ‘speak of being uncomfortable with what is perceived as a larger possibility for loss of source code’ when it comes to Git. Certainly headlines like the ones above are not helpful, when it comes to building trust for Git with decision makers. And while …

Read More »