Git Merge 2017

February 2017 · 3 minute read

This year I’ve finally managed to go to the
FOSDEM, but just before that there was the Git
Merge in The Egg.
It was a really nice, well-organized event with a lot of friendly IT people
around. And I’ve learnt a lot :)!

At first I’ve heard a bit about Software Freedom
Conservancy and
Outreachy (it’s something like
GSoC, which I hadn’t known before. I like the fact, that
so many people can get some support while working on Free and Open Source
Software.

Next, as you can notice on the schedule, there were several talks about the
scale of the Git/Mercurial repositories. What surprised me the most was the fact,
that there are serious repositories (Windows), for which git checkout and
other commands take ages to run. Because of that, Microsoft has created
GVFS shortening checkout time
from 3 hours to 30 seconds. At the other hand, Durham Goode gave a talk
about the way software version control is organized in the Facebook (reasons
for choosing Mercurial can be found
here.
By the way, before the talks, during a breakfast, I’ve also learnt about
Mercurial’s evolve extension,
which adjusts and synchronizes history between repositories after changing it on
one host (e.g. amending HEAD~8). Definitely I should take a closer look at the
Mercurial (it’s written in Python).

Git complexity has been mentioned many times, together with a lot of
suggestions how we could make it easier to work with it, teach it more
effectively and build helpful abstractions over it. Santiago Perez De Rosso
told us “What’s Wrong With Git?” and presented Gitless,
which is roughly a “version control system built on top of Git” with simplified
interface. Beside that, Tim Pettersen talked about Git aliases and the main
thing I remember is that
wiki page with aliases is quite useful
;).

I’ve also had a good time during afterparty where, among other things, I’ve
talked to one of JetBrains’ developers about version control systems and how
IDEs help developers coping with them. I belive that in the future IDEs may
be excellent tools for creating abstractions over the things like virtual file
systems and complicated interfaces/additional tools.

During the last talk, “Trust But Verify” by Thordur Bjornsson, I’ve heard a
really important tip about setting an expiration date of my PGP keys (to one
year at most). Unfortunately I’ve never thought about that :<.