Irregular Webcomic!

Archive     Blog     Cast     Forum     RSS     Books!     Poll Results     About     Search     Fan Art     Podcast     More Stuff     Random     Support on Patreon
New comics Mon-Fri; reruns Sat-Sun
<   No. 3592   2017-01-17   >

Comic #3592

1 Martian 3: Wait. We can't use a time machine to mess with history.
2 Martian 1: Why not? I posit that that's exactly what using a time machine will do.
3 Martian 3: History is fixed. We already know what happened in the past. You can't change stuff documented in historical records.
4 Martian 1: You've obviously never used GitHub.

First (1) | Previous (3591) | Next (3593) || Latest Rerun (2596) | Latest New (5213)
First 5 | Previous 5 | Next 5 | Latest 5
Martians theme: First | Previous | Next | Latest || First 5 | Previous 5 | Next 5 | Latest 5
This strip's permanent URL:
Annotations off: turn on
Annotations on: turn off

I've been learning how to use Git and GitHub Enterprise, since the developers at my work decided it was better to migrate everyone to new version control software rather than let us keep using what we were familiar with.[1]

Anyway, just the other day I was half listening to a conversation taking place near me, when someone said something about editing the commit history in Git. For those not familiar with version control software, this is akin to overhearing two people casually talking about changing the outcome of World War II, as though this was something they could actually do.

Version control software, at least in the reality I come from, is supposed to keep an inviolable history of changes made to software, so you can always reconstruct the edits and changes made as it is being developed. This is important for debugging purposes, so you can trace when a later discovered bug was introduced, and for providing the ability to return to a known stable version of the code if something goes wrong with later additions. But the makers of Git decided—for some reason—to give developers the ability to edit the history of changes.

This means that if you go through the "historical" change log of software being developed using Git, and you see something like "18 January 2017: Added new code to enable automated daily updates, and fixed double posting bug" - you cannot be sure that a code change to do those things was actually committed on that date. Someone could have gone in and edited it!

At least, given my incredulous questioning of the people involved in the conversation and their responses, that's my understanding. (It's possible I got the wrong impression.) But anyway, I thought it was bizarre enough to make a comic out of.

[1] I fully expect in another five years we'll be migrated to whatever the latest new hip and cool trend is. (This probably sounds more bitter than I really am - I'm just warming up my "grumpy old man" act these days, in preparation for the future.)

EDIT: Wow, anything that even hints at criticism of software really brings out the defenders! :-) Thank you to everyone who emailed and posted on the forums. I've learnt more about Git and version control software in general in the past 12 hours than possibly my entire life beforehand (that's hyperbole for comedic value, btw, not literally true). Yes, I made some errors in the above commentary - I'm not going to edit my history to correct them (wink wink), but I'll let them stand as a matter of record.

It turns out most version control software lets you edit the commit histories - I genuinely didn't know that! As I now understand it, Git lets you do it too, but because of the cryptographic hash trail, it also makes sure that you can tell if the history has been altered, which is something other version control systems may not do.

Anyway, I'll conclude by saying I wasn't trying to criticise Git. I use it at work and it's fine - it just took a little getting used to. I was really just making a joke out of something I thought was quirky and amusing.

LEGO® is a registered trademark of the LEGO Group of companies, which does not sponsor, authorise, or endorse this site.
This material is presented in accordance with the LEGO® Fair Play Guidelines.

My comics: Irregular Webcomic! | Darths & Droids | Eavesdropper | Planet of Hats | The Dinosaur Whiteboard | mezzacotta
My blogs: (daily updates) | 100 Proofs that the Earth is a Globe (science!) | Carpe DMM (long form posts) | Snot Block & Roll (food reviews)
More comics I host: The Prisoner of Monty Hall | Lightning Made of Owls | Square Root of Minus Garfield | iToons | Comments on a Postcard | Awkward Fumbles
© 2002-2024 Creative Commons License
This work is copyright and is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 4.0 International Licence by David Morgan-Mar.