November 10, 2015

GitSwarm: Your Questions Answered

Git at Scale
Version Control

I recently assisted in a DevOps-focused webinar - Introducing GitSwarm: Pure Git with Globally Scalable DevOps - on the newest component of our Helix platform, GitSwarm. We got so many great questions I thought the more popular merited a blog post. But first, if you missed the webinar and would like to see it, you can access it here at your convenience. Go ahead and watch it right now if you like. I’ll wait.

There, that was quick. Now that everyone is up to speed, let me go through some of the more popular questions and provide a bit more detail.

Git Fusion? Swarm? Help?!

This one is on us. It’s a little known secret that Perforce product names are chosen randomly by rolling icosahedral dice, using the resulting numbers as indices into a list of name-parts we re-use again and again. As Dave Barry might say, I am not making this up (read: I am totally making this up). Seriously, though, I can’t blame you if you’re confused by the naming, so let me ‘splain.

GitSwarm is the all-in-one, project-based Git management system that brings you all the goodness of similar products (e.g., GitLab) but with complete Helix integration. In contrast, Git Fusion is a back-end technology used by GitSwarm while Swarm itself is our completely separate review and collaboration tool for users who prefer other Helix clients (e.g. the P4 command line, the P4V visual client, etc.).

Bottom line: if you prefer to use Git, then you’re going to love GitSwarm, and you can mirror all your work easily into the Helix Versioning Engine once your server admin sets up Git Fusion. Finally, if you prefer to use the other Helix clients, then Swarm is your friend and included in our all-in-one pricing.

What’s the licensing for GitSwarm?

GitSwarm actually comes in two flavors: the basic edition is free and can be used by anyone. It’s based on the community edition of GitLab but adds the ability to mirror content bidirectionally and automagically with Helix.

Our enterprise edition, GitSwarm EE, comes at a nominal license fee and is (unsurprisingly) based on GitLab EE. It brings a few other features to the table (e.g., LDAP sync) that will be of more use to our enterprise customers.

No matter which flavor you choose, they both work with the rest of the Helix platform and enjoy the same great support for which Perforce as a company is famous. I’d suggest you download the basic edition of GitSwarm and give it a try. If you find yourself in need of the additional features, our sales department will be happy to discuss the licensing with you further.

How does GitSwarm support narrow cloning?

Let’s start by stating what should be obvious: narrow cloning is a big deal. Users of Git, Mercurial (Hg), and other DVCS systems have longed for narrow cloning for years, largely due to limitations and problems with handling many and/or large files. Native Git users are out of luck, and while Hg users can look to some community extensions/hacks they’re not much better off.

GitSwarm can’t change the limitations of Git, but it can work around them courtesy of Git Fusion. As mentioned earlier, Git Fusion is a back-end technology, and its raison d’être is to translate Git content into Helix content and vice versa. Git Fusion lets you define Git repositories (repos) simply by listing what content to include and how it should appear in the resulting repos.

So if you need to include only a single folder or a set of files, that’s easy. In fact, you can compose content from multiple back-end sources into a single Git repo or divide unified contents into multiple Git repos. And thanks to our repo-remapping technology, you can even rename folders and files, rearranging content as needed—whatever makes sense for your projects. GitSwarm simply “sees” all the repos made available by Git Fusion, which lets it import them as projects and bidirectionally mirror work between GitSwarm and the Helix Versioning Engine.

Is ‘automagically’ a real word?

Finally we come to the most important question. And I’d like to say on the record once and for all that ‘automagically’ is a perfectly cromulent word.

Thanks again to all who participated in our webinar. I hope this blog post has been helpful in clearing up some of the confusion. We’re just getting started with GitSwarm, so stay tuned for more about getting the most from Perforce Helix and keeping all of your contributors/stakeholders happy.