Some time ago a former colleague of mine tweeted ‘if your first check-in comment is something like “initial check-in” you’re doing it wrong’. To which my immediate reply was that I had been doing it wrong repeatedly since I personally have no problem with ‘initial check-in’ and had used it as a comment multiple times. I wish I could post you a link to the tweet but twitter’s search…sucks. This got me wondering what ‘good’ first check-in comments looks like. Thanks to the wonders of publicly hosted revision control systems I started looking at the initial check-in comments of some of what I considered the more well-known pieces of open-source software. Did they know they were destined for greatness from the outset? Here’s the list I came up with, with some commentary where applicable. If there are any projects with first check-in comments that are worth adding (or there is a better source than the one I’ve cited) leave me a comment and I’ll fix it up. The ‘Go’ one is probably the most interesting.
Project | Check-In Comment | Notes |
---|---|---|
Knockout.js | Initialising | |
Ruby | Initial Revision | Looks like Ruby was migrated from CVS to SVN so I can’t be sure if this is the ‘original’ commit message. |
OMQ | initial commit | Judging by the # of files this might be from a different revision control system, or earlier branch. |
Hibernate | initial upload | There are some earlier revisions starting here that look to have come from CVS. |
Iron Python | this is a test | |
Postgres | Postgres95 1.01 Distribution - Virgin Sources | Obviously migrating from a previous codebase, with 868 files changed. |
FreeBSD | Initial import, 0.1 + pk 0.2.4-B1 | According to their ‘history’ page FreeBSD was an outgrowth of 386BSD, and started in 1993, so this looks like the real deal. |
node.js | add dependencies | |
Orchard | Populating initial tree | |
NuGet | Initial commit | |
TightVNC | Initial revision | Migrated from CVS |
Go | hello, world |
This is a particularly weird one….according to the Go repo this is from 1972. The first couple of commits from this page seem to chronicle some of the steps in the evolution of C (presumably culminating in ‘Go’) with ‘commits’ in ‘74, and 1988. Either that or Brian Kernighan has a really good backup strategy. Update - Jason Sirota tracked down this wikipedia entry that explains more of the history behind this check-in. Pretty much what we expected B -> C -> ANSI C -> GO |
SQLite | ? | I really like SQLite, but their funky fossil revision control system only shows me the 20 most recent commits. |
Apache | initial check-in to set up Apache Commons | This is the oldest commit in their SVN repository, but apache is ~8 years older than this, so presumably they didn’t keep history when they ported. |
Ruby on Rails | Initial | Always the minimalist, wasn’t he. |
Mono | Initial revision | Wow, mono is 10 years old. |
jQuery | Initial Import | The history of jQuery goes back a little further than this early 2006 check-in, so presumably this was a migration from SVN. |
Mercurial |
Add back links from file revisions to changeset revisions |
Their first SELF HOSTED check-in |
Python | Initial revision | From August 1990. |
CoffeeScript | Unfancy JavaScript | |
GIMP |
fixed compiler warnings, changed some gints to gbooleans |
GIMP is a little bit older than this check-in from 1997. This looks like around the time it moved to being a GNU project. Strangely almost a year later there is one labelled ‘initial revision’ |
Image courtesy of sebastien.b
Comments
Inital check | Altarversion