The Best Commit Messages of 2015
or
(The Unexpected Virtue of Using Git)
University of Chicago – CMSC 23300 Networks and Distributed Systems
Before we begin, let's take
a look back at the...
Top Ten Commit Messages of 2014
10. Borja is keeping me from doing my
chinese homework
9. a very terrible disaster has been
avoided here
8. holy hell, idk how this worked but
it's working omg i might crie it's so
beautiful
7. i love the smell of segfaults in the
morning
6. have to debug in really weird ways
because I stubbornly refuse to use emacs
through ssh
5. well, nothing works, all tests fail,
and i have no idea how to implement this
RFC, but it's not immidiately
segfaulting, so, i've got that going for
me
4. I STILL HAVEN'T DONE MY CHINESE
HOMEWORK :(
3. oh my god, it's spelled LUSERS, not
LUSER
2. last push of the night
jk can't stop
1. worked an additional day, finished
everything but send function is clearly
broken so test all fail. this is hell on
earth. I would pray to God, but I don't
know how to correctly send messages.
And give an honorable
mention to...
The Best Branch Names of 2015
wat
abcd
poop
ughhhhhh
aaaahhhhhh
stupid-merge-branch
cleanuptimeyay
crappy-fix-to-motd-that-might-work
fixing-peek/read-life-falls-apart
idunf kedup
gottadeletebranches
jankp1b
saturday
-does-actual-work
-shenanigans
-f ks-around
structuralism-at-its-best
structuralism-at-its-finest
structuralism-hotfix
rto-rto-wherefore-art-thou-rto
The Best Commit Messages of 2015
$ grep “^[^a-z]+$” commits.txt
STRUCTS
.....
???
HEY
AHHH
YOOOO
111[1[1[1[1[1[1[1Z1Z1
<= != <
$ grep “^[^a-z]+$” commits.txt
WHY WON'T LUSERS WORK WTF
I HATE SEGFAULTS
I HATE MODESTR
CODE IS NOT READY
SHUT UP PYTHON
IT WAS THE LOOOOOOOOOCKS
$ grep “^[^a-z]+$” commits.txt
POINTSSSSS
SO MANY
POINTSSSSSSSSSSSSSSSSSSSSSSSSSSSSS. TAKE
THAT CRAB!
YO 80% ARENT WE COOL
GOT DAT 50
91%, OMG, DROP_PACKET WORKSSSS
LUSERS WORKS. WHAT. IS. UP. 10/10
$ grep “^[^a-z]+$” commits.txt
WORKING YISSSSSSS
THAT WAS SUCH A GIANT BUG OH MY GOD
TIMEOUTS ARE GONE WOOP WOOP WOOP
IM ON FIRE
I FIXED EVERYTHING
I AM A GOD AMONGST MEN
FK THE MESSAGE OF THE DAY I HAVE SLAIN
THE DRAGON
$ grep “^[^a-z]+$” commits.txt
EVERYTHING COMPILES AND THERE'S NO
SEGFAULTS OMG IM SO HAPPY IM CRYING
PRAISE RMS
OMFG WE'RE PASSING ALL OF THE TESTS YES
YES YES YES YESY SEYESY YESYSYE YES THAT
-S OPTION IS AMAZING I LOVE YOU

BUG FIXED, MOTHAF KAAAZ
$ grep “[oO]{3}” commits.txt
woooo
woooo points
16 tests pass out of 59 now wooooooo
infinite looooooooop
woooooooooooooooooooootttttt
nooooooooooo
last commit of the night
yoooooooooooooooo
$ grep ! commits.txt
commit message!
Fun with files!!
Three way handshake is passing! Wahooo!!
bumped up version # to 0.4b. now with
full 1b functionality and 7x fewer
memory leaks!
it compiles! doesn't reply to anything,
though
working! i think
$ grep "^...$" commits.txt | sort -u
???
...
33%
~80
abc
ahh
bye
fin
fix
git
god
grr
HEY
hm:
WHO
why
wow
wut
yay
yup
zzz
idk
kay
new
oof
ugh
wat
who
$ grep "^....$" commits.txt | sort -u
7/10
ahhh
AHHH
asdf
away
blah
Blah
bleh
bugs
buh?
Done
dsad
edit
Edit
eidt
fail
fine
grrr
help
last
list
LIST
save
s t
sigh
simc
temp
test
todo
typo
work
more
motd
MOTD
okay
okya
oops
Oops
part
ping
pong
Redo
$ grep -i bug commits.txt | wc --lines
221
$ grep -i bug commits.txt
bugs
Will this solve our bug?
Bug fixes, eww, there is a spider
INCREDIBLY BUGGY MODES
compiling code with bug
ALL of the debug messages, hooray
lldb sucks. gonna debug over ssh
$ grep -i segfault commits.txt
Clean up the retransmission functions
and OH GOD THE SEGFAULTS
infinite loop, but at least it compiles
and there are no segfaults
all the robustness tests are now okay.
DID THAT SOLVE THE PROLEM OF THE
DISAPPEARING SEGFAULT? ONLY TIME WILL
TELL
IT SENDS WITHOUT SEGFAULTING
$ grep -i segfault commits.txt
sometimes it passes, sometimes it
segfaults; tis life
welp stuff is segfaulting and things
nothing loops or segfaults but pass the
test it doesn't
fixed the segfault ... FOR NOW
good night segfaults
$ grep -i ^why commits.txt
why don't i sleeeeeeppppp
why the hell did this start working
why
why no users in channel
why did it take me half an hour to find
this bracket mismatch? nobody knows
why no pass :(
why does this not work
why why is it segfaulting when trying to
send this PART msg to itself it sux
$ grep -i god commits.txt
god
god help me
submission p1c ready (please god)
I FIXED FIN. I REPEAT, FIN IS FIXED. oh
my god i am so tired.
added threading, god knows if it works
simultaneous teardown tests now working.
maybe there is a god after all
the tcp gods are cruel and unmerciful
committing my files as an offering to
the great gods of Git
THE GODS HAVE SMILED UPON ME TODAY
$ grep -i borja commits.txt
tabs -> spaces to appease borja
fixing git for borja
still getting spurious segfaults on
disorderly close. talked to two different
TAs, who both said not to worry about it
too much, but it is driving me slowly
insane. borja has not answered my piazza
followup. it seems that god has indeed
forsaken us, after all.
Made host a global (eat your heart out
borja)
best. motd. file. ever.
$ grep -i "<hell>" commits.txt
well, first of all that was a hell of a
merge, secondly now most of the data
transfer tests pass sometimes so that's
kind of progress.
why the hell did this start working
$ grep -i csil commits.txt
moving to csil
working on part. moving to csil machine
some minor changes -- time for csil
also wrote out of order transmission
code for establish. In fact all my code
is only for the established state. Now
debugging commence... not how I like to
write code but god could csil be any
more sterile.
hour eight in CSIL. supplies low. morale
lower.
still not working but lldb sucks and
csil should be open for forever
$ grep -i csil commits.txt
Does not compile, currently commiting
and leaving csil
working on names/join. getting kicked
out of csil
cleaning a little. getting kicked out of
csil very soon
kicked out of csil so this is all broken
Non-compiling code bc CSIL closing
Submitting non-making code because CSIL
closing
$ grep -i hate commits.txt
i hate git
added changes to a new file for merge
handling - hate git
i hate you git
i hate git, merge conflict, this version
is wrong
I hate merges
$ grep -i hate commits.txt
i hate merging
i hate merging so much
i hate merging so much, trying to fix
things up
i hate merging so much, trying to fix
things up, i think i did?
i hate merging so much, trying to fix
things up, i think i did? whatever
$ grep -i s t commits.txt
st
st compiles
Removed st.
st doesn't segfault on nice input
st passes tests now
make st work
user handler: sending st hopefully
mutexes don't break st
there is a segfault what is this
bullst
dis st be broke
woah st didn't break hallelujah
$ grep -i s t commits.txt
added rt send and rt ack functions to
the entire handshake, nothing sts
itself
things close without a hitch, added
updatequeue to syn_sent packet arrival
and it isn't stting itself
everything is stting itself, and its
simclists fault - seeker is going past
end of list in in_ch_given_chnicks
$ grep -i fk commits.txt
fk this
F k this s t, I can't wait for next week 
f king timeout s t 
f king modes f k 
f k deadlocks
f k yes another test passing
F K YEAH WE ARE DONE
how the f k did I pass two more tests? I only
fixed one of them. this is gonna bite me in
the ass later isn't it? f k me
git couldn't merge a blank line with a
deletion of the blank line. motherf ker what
are you even good for
hungover as f k
Alright, Borja, here's a more descriptive
commit message. Fixed message decoder to
correctly read the recv buffer over to a
buffer that will become a message string.
Deleted lots of useless tests. Still need to
fix the handler function. Morale is relatively
high. High of 20 with a cold front coming in
tonight leading to a low of 3, the sky will be
partially cloudy. Such descriptive, much
project 1b. Wow.
Huge commit. [...] The weather tonight will be
clear, with a 50% chance of showers tomorrow.
, out.
Pthread implementation added into main
function [...]. Cloudy skies into the late
afternoon with a chance of showers after
midnight. Morale is high, but you have died of
dysentery.
 why did you put the binary file in the
repo... -_-
omg  stop adding these to the repo
STOP PUSHING THESE FILES TO THE REPO 
for want of a packet
memory access was lost
i can't seem to hack it
i miss using frost
just added threading
and thread-safe token parsing
using strtok_r
can send notices
bug in private messaging
as yet unresolved
LUSERS command
has been partially written
need to add threading
added thread locking
but lusers tests still fail
problem is unclear
LUSERS tests pass
wasn't counting every new thread...
we are jubilant
At last we are done
It passes all of your tests
Tonight we get drunk

UChicago CMSC 23300 - The Best Commit Messages of 2015

  • 1.
    The Best CommitMessages of 2015 or (The Unexpected Virtue of Using Git) University of Chicago – CMSC 23300 Networks and Distributed Systems
  • 2.
    Before we begin,let's take a look back at the...
  • 3.
    Top Ten CommitMessages of 2014
  • 4.
    10. Borja iskeeping me from doing my chinese homework 9. a very terrible disaster has been avoided here 8. holy hell, idk how this worked but it's working omg i might crie it's so beautiful 7. i love the smell of segfaults in the morning 6. have to debug in really weird ways because I stubbornly refuse to use emacs through ssh
  • 5.
    5. well, nothingworks, all tests fail, and i have no idea how to implement this RFC, but it's not immidiately segfaulting, so, i've got that going for me 4. I STILL HAVEN'T DONE MY CHINESE HOMEWORK :( 3. oh my god, it's spelled LUSERS, not LUSER 2. last push of the night jk can't stop
  • 6.
    1. worked anadditional day, finished everything but send function is clearly broken so test all fail. this is hell on earth. I would pray to God, but I don't know how to correctly send messages.
  • 7.
    And give anhonorable mention to...
  • 8.
    The Best BranchNames of 2015 wat abcd poop ughhhhhh aaaahhhhhh stupid-merge-branch cleanuptimeyay crappy-fix-to-motd-that-might-work fixing-peek/read-life-falls-apart idunf kedup gottadeletebranches jankp1b saturday -does-actual-work -shenanigans -f ks-around structuralism-at-its-best structuralism-at-its-finest structuralism-hotfix rto-rto-wherefore-art-thou-rto
  • 9.
    The Best CommitMessages of 2015
  • 10.
    $ grep “^[^a-z]+$”commits.txt STRUCTS ..... ??? HEY AHHH YOOOO 111[1[1[1[1[1[1[1Z1Z1 <= != <
  • 11.
    $ grep “^[^a-z]+$”commits.txt WHY WON'T LUSERS WORK WTF I HATE SEGFAULTS I HATE MODESTR CODE IS NOT READY SHUT UP PYTHON IT WAS THE LOOOOOOOOOCKS
  • 13.
    $ grep “^[^a-z]+$”commits.txt POINTSSSSS SO MANY POINTSSSSSSSSSSSSSSSSSSSSSSSSSSSSS. TAKE THAT CRAB! YO 80% ARENT WE COOL GOT DAT 50 91%, OMG, DROP_PACKET WORKSSSS LUSERS WORKS. WHAT. IS. UP. 10/10
  • 14.
    $ grep “^[^a-z]+$”commits.txt WORKING YISSSSSSS THAT WAS SUCH A GIANT BUG OH MY GOD TIMEOUTS ARE GONE WOOP WOOP WOOP IM ON FIRE I FIXED EVERYTHING I AM A GOD AMONGST MEN FK THE MESSAGE OF THE DAY I HAVE SLAIN THE DRAGON
  • 15.
    $ grep “^[^a-z]+$”commits.txt EVERYTHING COMPILES AND THERE'S NO SEGFAULTS OMG IM SO HAPPY IM CRYING PRAISE RMS OMFG WE'RE PASSING ALL OF THE TESTS YES YES YES YES YESY SEYESY YESYSYE YES THAT -S OPTION IS AMAZING I LOVE YOU  BUG FIXED, MOTHAF KAAAZ
  • 16.
    $ grep “[oO]{3}”commits.txt woooo woooo points 16 tests pass out of 59 now wooooooo infinite looooooooop woooooooooooooooooooootttttt nooooooooooo last commit of the night yoooooooooooooooo
  • 17.
    $ grep !commits.txt commit message! Fun with files!! Three way handshake is passing! Wahooo!! bumped up version # to 0.4b. now with full 1b functionality and 7x fewer memory leaks! it compiles! doesn't reply to anything, though working! i think
  • 18.
    $ grep "^...$"commits.txt | sort -u ??? ... 33% ~80 abc ahh bye fin fix git god grr HEY hm: WHO why wow wut yay yup zzz idk kay new oof ugh wat who $ grep "^....$" commits.txt | sort -u 7/10 ahhh AHHH asdf away blah Blah bleh bugs buh? Done dsad edit Edit eidt fail fine grrr help last list LIST save s t sigh simc temp test todo typo work more motd MOTD okay okya oops Oops part ping pong Redo
  • 19.
    $ grep -ibug commits.txt | wc --lines 221
  • 20.
    $ grep -ibug commits.txt bugs Will this solve our bug? Bug fixes, eww, there is a spider INCREDIBLY BUGGY MODES compiling code with bug ALL of the debug messages, hooray lldb sucks. gonna debug over ssh
  • 21.
    $ grep -isegfault commits.txt Clean up the retransmission functions and OH GOD THE SEGFAULTS infinite loop, but at least it compiles and there are no segfaults all the robustness tests are now okay. DID THAT SOLVE THE PROLEM OF THE DISAPPEARING SEGFAULT? ONLY TIME WILL TELL IT SENDS WITHOUT SEGFAULTING
  • 22.
    $ grep -isegfault commits.txt sometimes it passes, sometimes it segfaults; tis life welp stuff is segfaulting and things nothing loops or segfaults but pass the test it doesn't fixed the segfault ... FOR NOW good night segfaults
  • 23.
    $ grep -i^why commits.txt why don't i sleeeeeeppppp why the hell did this start working why why no users in channel why did it take me half an hour to find this bracket mismatch? nobody knows why no pass :( why does this not work why why is it segfaulting when trying to send this PART msg to itself it sux
  • 24.
    $ grep -igod commits.txt god god help me submission p1c ready (please god) I FIXED FIN. I REPEAT, FIN IS FIXED. oh my god i am so tired. added threading, god knows if it works simultaneous teardown tests now working. maybe there is a god after all the tcp gods are cruel and unmerciful committing my files as an offering to the great gods of Git THE GODS HAVE SMILED UPON ME TODAY
  • 25.
    $ grep -iborja commits.txt tabs -> spaces to appease borja fixing git for borja still getting spurious segfaults on disorderly close. talked to two different TAs, who both said not to worry about it too much, but it is driving me slowly insane. borja has not answered my piazza followup. it seems that god has indeed forsaken us, after all. Made host a global (eat your heart out borja)
  • 26.
  • 27.
    $ grep -i"<hell>" commits.txt well, first of all that was a hell of a merge, secondly now most of the data transfer tests pass sometimes so that's kind of progress. why the hell did this start working
  • 28.
    $ grep -icsil commits.txt moving to csil working on part. moving to csil machine some minor changes -- time for csil also wrote out of order transmission code for establish. In fact all my code is only for the established state. Now debugging commence... not how I like to write code but god could csil be any more sterile. hour eight in CSIL. supplies low. morale lower. still not working but lldb sucks and csil should be open for forever
  • 29.
    $ grep -icsil commits.txt Does not compile, currently commiting and leaving csil working on names/join. getting kicked out of csil cleaning a little. getting kicked out of csil very soon kicked out of csil so this is all broken Non-compiling code bc CSIL closing Submitting non-making code because CSIL closing
  • 30.
    $ grep -ihate commits.txt i hate git added changes to a new file for merge handling - hate git i hate you git i hate git, merge conflict, this version is wrong I hate merges
  • 31.
    $ grep -ihate commits.txt i hate merging i hate merging so much i hate merging so much, trying to fix things up i hate merging so much, trying to fix things up, i think i did? i hate merging so much, trying to fix things up, i think i did? whatever
  • 32.
    $ grep -is t commits.txt st st compiles Removed st. st doesn't segfault on nice input st passes tests now make st work user handler: sending st hopefully mutexes don't break st there is a segfault what is this bullst dis st be broke woah st didn't break hallelujah
  • 33.
    $ grep -is t commits.txt added rt send and rt ack functions to the entire handshake, nothing sts itself things close without a hitch, added updatequeue to syn_sent packet arrival and it isn't stting itself everything is stting itself, and its simclists fault - seeker is going past end of list in in_ch_given_chnicks
  • 34.
    $ grep -ifk commits.txt fk this F k this s t, I can't wait for next week  f king timeout s t  f king modes f k  f k deadlocks f k yes another test passing F K YEAH WE ARE DONE how the f k did I pass two more tests? I only fixed one of them. this is gonna bite me in the ass later isn't it? f k me git couldn't merge a blank line with a deletion of the blank line. motherf ker what are you even good for hungover as f k
  • 35.
    Alright, Borja, here'sa more descriptive commit message. Fixed message decoder to correctly read the recv buffer over to a buffer that will become a message string. Deleted lots of useless tests. Still need to fix the handler function. Morale is relatively high. High of 20 with a cold front coming in tonight leading to a low of 3, the sky will be partially cloudy. Such descriptive, much project 1b. Wow. Huge commit. [...] The weather tonight will be clear, with a 50% chance of showers tomorrow. , out. Pthread implementation added into main function [...]. Cloudy skies into the late afternoon with a chance of showers after midnight. Morale is high, but you have died of dysentery.
  • 36.
     why didyou put the binary file in the repo... -_- omg  stop adding these to the repo STOP PUSHING THESE FILES TO THE REPO 
  • 37.
    for want ofa packet memory access was lost i can't seem to hack it i miss using frost
  • 38.
    just added threading andthread-safe token parsing using strtok_r
  • 39.
    can send notices bugin private messaging as yet unresolved
  • 40.
    LUSERS command has beenpartially written need to add threading
  • 41.
    added thread locking butlusers tests still fail problem is unclear
  • 42.
    LUSERS tests pass wasn'tcounting every new thread... we are jubilant
  • 43.
    At last weare done It passes all of your tests Tonight we get drunk