UChicago CMSC 23300 - The Best Commit Messages of 2015
Transcript of UChicago CMSC 23300 - The Best Commit Messages of 2015
The Best Commit Messages of 2015or
(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 2015watabcdpoop
ughhhhhhaaaahhhhhh
stupid-merge-branchcleanuptimeyay
crappy-fix-to-motd-that-might-workfixing-peek/read-life-falls-apart
idunf kedup
gottadeletebranchesjankp1bsaturday
-does-actual-work-shenanigans-f ks-around
structuralism-at-its-beststructuralism-at-its-finest
structuralism-hotfixrto-rto-wherefore-art-thou-rto
The Best Commit Messages of 2015
$ grep “^[^a-z]\+$” commits.txtSTRUCTS.....???HEYAHHHYOOOO\1\1\1[1[1[1[1[1[1[1Z1Z1<= != <
$ grep “^[^a-z]\+$” commits.txtWHY WON'T LUSERS WORK WTFI HATE SEGFAULTSI HATE MODESTRCODE IS NOT READYSHUT UP PYTHONIT WAS THE LOOOOOOOOOCKS
$ grep “^[^a-z]\+$” commits.txtPOINTSSSSSSO MANY POINTSSSSSSSSSSSSSSSSSSSSSSSSSSSSS. TAKE THAT CRAB!YO 80% ARENT WE COOLGOT DAT 5091%, OMG, DROP_PACKET WORKSSSSLUSERS WORKS. WHAT. IS. UP. 10/10
$ grep “^[^a-z]\+$” commits.txtWORKING YISSSSSSSTHAT WAS SUCH A GIANT BUG OH MY GODTIMEOUTS ARE GONE WOOP WOOP WOOPIM ON FIREI FIXED EVERYTHINGI AM A GOD AMONGST MENFK THE MESSAGE OF THE DAY I HAVE SLAIN THE DRAGON
$ grep “^[^a-z]\+$” commits.txtEVERYTHING COMPILES AND THERE'S NO SEGFAULTS OMG IM SO HAPPY IM CRYING PRAISE RMSOMFG 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.txtwoooowoooo points16 tests pass out of 59 now woooooooinfinite looooooooopwooooooooooooooooooooottttttnooooooooooolast commit of the night yoooooooooooooooo
$ grep \! commits.txtcommit 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, thoughworking! i think
$ grep "^...$" commits.txt | sort -u
???... 33%~80abcahhbye
finfixgitgodgrrHEYhm:
WHOwhywowwutyayyupzzz
idkkaynewoofughwatwho
$ grep "^....$" commits.txt | sort -u
7/10ahhhAHHHasdfawayblahBlahblehbugsbuh?Done
dsadeditEditeidtfailfinegrrrhelplastlistLIST
saves tsighsimctemptesttodotypowork
moremotdMOTDokayokyaoopsOopspartpingpongRedo
$ grep -i bug commits.txt | wc --lines221
$ grep -i bug commits.txtbugsWill this solve our bug?Bug fixes, eww, there is a spiderINCREDIBLY BUGGY MODEScompiling code with bugALL of the debug messages, hooraylldb sucks. gonna debug over ssh
$ grep -i segfault commits.txtClean up the retransmission functions and OH GOD THE SEGFAULTSinfinite loop, but at least it compiles and there are no segfaultsall the robustness tests are now okay. DID THAT SOLVE THE PROLEM OF THE DISAPPEARING SEGFAULT? ONLY TIME WILL TELLIT SENDS WITHOUT SEGFAULTING
$ grep -i segfault commits.txtsometimes it passes, sometimes it segfaults; tis lifewelp stuff is segfaulting and thingsnothing loops or segfaults but pass the test it doesn'tfixed the segfault ... FOR NOWgood night segfaults
$ grep -i ^why commits.txtwhy don't i sleeeeeepppppwhy the hell did this start workingwhywhy no users in channelwhy did it take me half an hour to find this bracket mismatch? nobody knowswhy no pass :(why does this not workwhy why is it segfaulting when trying to send this PART msg to itself it sux
$ grep -i god commits.txtgodgod help mesubmission 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 workssimultaneous teardown tests now working. maybe there is a god after allthe tcp gods are cruel and unmercifulcommitting my files as an offering to the great gods of GitTHE GODS HAVE SMILED UPON ME TODAY
$ grep -i borja commits.txttabs -> spaces to appease borjafixing git for borjastill 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.txtwell, 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.txtmoving to csilworking on part. moving to csil machinesome minor changes -- time for csilalso 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.txtDoes not compile, currently commiting and leaving csilworking on names/join. getting kicked out of csilcleaning a little. getting kicked out of csil very soonkicked out of csil so this is all brokenNon-compiling code bc CSIL closingSubmitting non-making code because CSIL closing
$ grep -i hate commits.txti hate gitadded changes to a new file for merge handling - hate giti hate you giti hate git, merge conflict, this version is wrongI hate merges
$ grep -i hate commits.txti hate mergingi hate merging so muchi hate merging so much, trying to fix things upi 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.txtstst compilesRemoved st.st doesn't segfault on nice inputst passes tests nowmake st workuser handler: sending st hopefullymutexes don't break stthere is a segfault what is this bullstdis st be brokewoah st didn't break hallelujah
$ grep -i s t commits.txtadded rt send and rt ack functions to the entire handshake, nothing sts itselfthings close without a hitch, added updatequeue to syn_sent packet arrival and it isn't stting itselfeverything is stting itself, and its simclists fault - seeker is going past end of list in in_ch_given_chnicks
$ grep -i fk commits.txtfk 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 packetmemory access was losti can't seem to hack iti miss using frost
just added threadingand thread-safe token parsingusing strtok_r
can send noticesbug in private messagingas yet unresolved
LUSERS commandhas been partially writtenneed to add threading
added thread lockingbut lusers tests still failproblem is unclear
LUSERS tests passwasn't counting every new thread...we are jubilant
At last we are doneIt passes all of your testsTonight we get drunk