October 6, 2015

Your First GitSwarm Project

Git at Scale

It’s that time of year when school starts up again, and I don’t know about you, but the thing I like most about this season is the sense of a fresh start. Each new academic year is effectively a blank slate, just waiting to be filled. I’m reminded of that because today it’s my privilege to describe how to create your first GitSwarm project; a new beginning with a blank Git repo waiting for your content.

As a reminder, GitSwarm is our new Git ecosystem. Based on the popular GitLab collaboration suite, it's a great way to manage projects and teams using Git. Importantly, GitSwarm syncs with our powerful Helix Versioning Engine. You can read more about that here.

To cut right to the chase, it’s simple: log in, navigate to the GitSwarm home page, and click the big button toward the upper right that says “New project”. The resulting page lets you configure it, so let’s quickly go over a few of the options and their implications.

First and foremost is the project path, which uniquely identifies a project even after it’s deleted, so choose carefully. If your administrator has defined groups, then you’ll also see a namespace field, and this requires a little discussion. The default will create the project specific to a user, which means that only that user can work with it at first, whereas specifying a group will open it up to anyone in the group. But don’t worry: a user can always transfer a project later to a group, and admins can move a project to any namespace.

Beneath that are the import options, and on this point GitSwarm delivers in spades. It offers specific integrations with GitHub, Bitbucket, and GitLab via the OAuth protocol, as well as Gitorious and Google Code through their particular means; but you can import from any publicly visible Git URL as well.

Perhaps most importantly, however, Helix users will have the option to import from any Git repository exposed by the Helix Versioning Engine. This offers unprecedented selectivity, making it possible to clone only a Git-sized slice of a potentially huge Helix monorepo. Projects created in this manner will enjoy ongoing, bidirectional, automatic synchronization of all assets between GitSwarm and Helix. This opens up Git projects like never before by adding all the Helix clients, tools, and workflow to the mix.

For today we’re talking about a blank repo, however, so leave the import settings untouched. The description is optional, so the next setting of substantive interest is the visibility level. Private projects begin “life” visible only to those with rights to the namespace they’re assigned, internal projects are seen and cloned by any authenticated GitSwarm user, and public projects are visible and clone-able by anyone whether they have a GitSwarm account or not. Choose accordingly who gets to see your code and other digital assets!

And that’s about it. Click the “Create project” button at the bottom and wait briefly for the project to be available. The resulting page will provide URLs for use with Git via both SSH and HTTP, so choose the one you like, copy it to the clipboard, and clone away on your local machine.

GitSwarm is available for download now. Give it a try—that blank Git repo is just waiting for you to get started!