Git Merge 2017

Posted by s.aragon on 28 February 2017 - 9:00am

Git Merge 2017By Raniere Silva, Community Officer, Software Sustainability Institute

In 2015, I watched the recording of Emma Jane Hogbin Westby's talk "Teaching People Git" at Git Merge 2015. Her talk is inspiring, improves teaching skills of people like me—a Software Carpentry and Data Carpentry instructor—, and helps researchers learn version control. When I discovered that Git Merge 2017 would take place in Brussels, I knew that I should attend to be a better teacher and have a good time with other Git users.

Git Merge is organised by GitHub, one of the Git host providers, and sponsored by, among others, GitLab and Bitbucket—GitHub's competitors who show that during the event we should put our differences aside and be friends. I can say that the atmosphere of the workshop was great and everyone were very polite with each other. In addition, all ticket proceeds went to the Software Freedom Conservancy, Git’s financial sponsor.

On the 2nd of February, we had a workshop day with six sessions. Before the workshop started, while queueing for breakfast, I got a question from another attendee, Katrin, about Software Carpentry and Data Carpentry and it made my day! My expectation was to only meet software developers and system administrators but meeting with attendees like Katrin, Daniel and Alejandro, who aren't on the two previous groups and are involved with science, was a great and pleasant surprise. Incidentally, Alejandro took the photo for this post with his Game Boy Camera.

My top three workshop sessions were "The Battle for Sub-premacy" by Hector Alfaro, "Jedi Mind Tricks for Git" by Johan Abildskov, and "Git Simple: Writing primary git functionalities in Ruby" by Matt Duff. Hector showed how to perform some tasks such as commit code, push change, and fetch updates when working with submodules or subtrees: two options available when working with Git repositories that depend on other repositories. Johan presented attributes and hooks that can be used to enhance user local workflow by, for example, improving the diff functionality when working with binary files or running continuous integration tests locally. Matt demystified the .git directory by showing a simplified implementation of some Git commands in Ruby that are compatible with the official Git implementation.

The 3rd of February was the day of talks and lightning talks. We had 13 talks: a mix of inspiring, intriguing and tech-heavy talks with some jokes between them. Everyone in the room laughed when the anchor from GitHub missed the information of the next speaker, received six blank sheets from Bitbucket and was saved by GitLab—a reference to GitLab's serious incident with one of their databases a few days before the conference.

My favourite talk was "Scaling Mercurial at Facebook: Insights from the Other Side" by Durham Goode. It was a talk about Mercurial, another version control system, that showed, again, how organisers and attendees were highly interested in discussing what they have in common—their passion for version control. Durham’s presentation was tech-heavy but I believe that most of the attendees managed to understand and are looking to have a better Git on their future utility belt. Two other more technical talks that I enjoyed were "Git Aliases of the Gods!" from Tim Pettersen and "Trust But Verify" from Thordur Bjornsson. Tim presented some aliases ideas that he uses with BitBucket but can be customized for GitHub or GitLab plus one way to create more complex aliases in your favourite script language. Thordur advocated for users to sign their commits using OpenPGP and showed some under-the-hood details of signed commits.

My top inspiring talk was "Git: The Original Blockchain" by Meredith L. Patterson. People has used Git for some "orthodox" things such as a national constitution and an address book, but Meredith presented the most orthodox use of Git: a financial blockchain. Maybe you’ve heard of Bitcoin before—an alternative to currency where every transaction needs to be digitally signed and added to a long open blockchain. Bitcoin will not work if you don't have internet access or use an unreliable network. However, due the distributed nature of Git, it was the perfect blockchain tool for Meredith's team to solve their problem: replace cash payroll with a digital one in Africa.

"Top Ten Worst Repositories to host on GitHub" by Carlos Martin Nieto and "Scaling Git at Microsoft" by Saeed Noursalehi were intriguing talks. Carlos presented some GitHub repositories that are unconventional, such as the use of "commit war", a high number of contributors, or a high number of forks or their own size. Talking about size, do you know the size of the Git repository with Windows source code? Saeed went to stage to tell us that it is 270GB long, as well as the issues of working with a repository of that size, and the open source solution they developed which is aligned with the ideas presented by Durham.

Git Merge 2017 talks

This year’s talk about teaching Git was "Git: The Tool Loved and (sometimes) Feared" by Caren Garcia. Caren's debut presentation at Git Merge was great but I had great expectations  after seeing Emma's talk in 2015 so I felt a little disappointed. She mentioned some non-source code use of Git and gave some suggestions for when you are teaching Git to your friends.

If Git Merge 2018 happens in Europe, I will try to attend again since I’ve had a great time during this year’s workshop and talks—and I made some new friends! It will be a great opportunity to check the progress accomplished by Bitbucket, Facebook, GitHub, GitLab, Microsoft et al. in one year time, meet old friends and make new ones. If you missed Git Merge 2017, the talks should be available on Youtube soon.

Extra: David Leuliette drawn amazing summaries of the event and published on Twitter. We Storify his tweets to help you.

Share this page