Adding your code via Git or Mercurial

Learn how to get started using Kiln – the complete source control management system with tightly integrated code review from Fog Creek Software.

Please note that repository creation has changed slightly from the way it is depicted in the video.  When creating a new repository, you’ll need to choose whether the repository is Mercurial or Git.  As such, the instructions for how to push the code to the empty repository will only be displayed for Git or Mercurial, as appropriate.


In this video, we’re going to cover an introduction to Kiln projects, an overview of the client tools, and three different ways to get your code into Kiln. The first thing we’re going to do is create a new project. Projects are the largest organizational unit within Kiln. That’s where you group repositories together and set up permissions for users.

Let’s create a project called ‘control panel’ and take a look at it. We’re going to add some repositories related to our control panel project. The first one I’m going to add is my main control panel code base. I’m going to leave the repo empty for now as I set things up. My other bits of code are auxiliary to the main project, so I’m going to create a group called ‘tools’. You can create as many groups as you want to stay organized. Let’s create repositories for ‘solari-board’ and ‘big board widgets’.

Let’s go ahead and take a look at the Kiln client in ‘tools’. The Kiln client is going to package the command line tools, as well as some GUI tools, for both Windows and Mac. Let’s also grab the Kiln importer, which provides a quick and easy way to import repositories into Kiln. The first way we’re going to get code into Kiln is with the Kiln importer. I paste in my repository URL, and it’s going to determine that it’s a Git repository. It doesn’t have to do any conversion since Kiln speaks Git natively. Now I just need to grab my Kiln repository URL, paste it in, and sign in to Kiln. When I click ‘next’, it’ll log into Kiln and push my code up. Then, clicking ‘finish’, I can view the repository in the browser.

The next thing I’m going to push is stored as a Mercurial repository on my local machine. I’m going to navigate to the code locally. Since it’s already a Mercurial repo, all I have to do is push it to Kiln. Because it’s pretty large, the first push will take a while. Future pushes will be incremental and faster.

The last way we’re going to push code to Kiln is from a directory that isn’t yet a repository. I can choose which instructions I want in Git or Mercurial. I’m going to pick Mercurial. At the command line, I type ‘hg init’ to create a repository, ‘hg add’ to add my files, and then ‘hg commit’ to check them in. Then I just push it up to Kiln as before.

Getting your code into Kiln is usually pretty simple, but sometimes you might run into snags. If that happens, send us an email. We’ve helped lots of customers deal with complex migrations, and we want you to be successful as well.