How I (Briefly) Authored the Initial Commit of Every Ember CLI Project

Every Ember CLI app’s initial commit is generated with a pretty sweet ASCII picture of Tomster. It looks like this:

                                                        _...,
                                                     ,:^;,...;
              -+===;.         ,,--++====++-,,,     .:  /.....,
            :::::~+++++#:,+#++++++++++++++++++#*..:   /,......
           (,,,,,,::=+++##++++++++++++++++++++++#.   :....../
            ...,,,,,::++++++++++++++++++++++++++++++*..,...:
            *..+...,#@@@@@@@@@++++++++++++++++++++++#*....*
              @#,;##############@@@+*+#@@@@@@@@@@#*++#..<
              *@##@@+,-*^^^*-+@####@@@######@@@#####@@,,,+
                @#@*            @#@@@@#@@+--*^^*--#@@@@@@#
                @#@.    @#      @##+++@#,           .@@#@@
                 #@#    @@     +@@++++#@@     @@     :@@
                 :@#*         @#@++++++@#*    #@     @@+
                :*+@@#;,.__.+@#@+,-^^.++@#          @@++
               ;*  :*@@@##@@@@;++r._j^.+@##@+,.__,,@@++.
              /*    ........+++++++++++++#@@@@@###@@#++++,
            ,:       ...,@@@#++===----==@@@####,,....+++++
           .:       ......@@##@\   ;   :@####@,,...... +++.
           ;       .........@###,   ;  ;xx#@;,,.....   *;+,
           |       ........,*;xxxx--^--=xxx,........   :+#;
           ;         ......,,;xxxxxxxxxxxxx;,.....     *+#
            ;          ......,::xxxx;.     ......       +.   .
             *;            .........  +###  ....       / ,. /:| ,.
               .+:             ...  ;##++##, .      ,#. (..v..;*./
                  **                ##  ###*    .:*&&&+. \.,....<,
                   #&+**==-..,,__  ;##  ###  :,*+&&&&&&&v+#&,,.._/
                  #&&&&*...,::,,.  ##; ,##* .*****;:&&&&&&&&&
                 ,+*+;~*..*** *.* ### ###* *******    *+#&;*
                                  ##,;##    ****    :,  **
         #####    ##   ###  ###,  ########       .#####   ;##  ##
        #######  ;##  #### ,###.  ##########    ########  ### ####
       ###  ###  ### ##########   ####  ####   ,##   ###  #######*
      ### ,###  ##############:   ##     ###  #### ,##   :#### ###  ##;
  ##########    ########### ##   .##    ,###  #######    ##### :######
    ######    .###### ####  ##   ###    ### ######*    :#####   ####
       #############  ####  ################    ######## ###
        #####*  *#*    #:   :###   *###*         *####    #*

The commit is attributed to “tomster@emberjs.com”.

There was no account on GitHub associated with that e-mail, so I was curious: What would happen if I added it to my account?

It turns out that GitHub will happily attribute all of those commits to me without having to verify the e-mail address. Across every project with the initial commit from Ember CLI. That’s a lot of projects.

attribution

I quickly removed the e-mail address from my GitHub account, and then I reached out to Stefan Penner, the creator of Ember CLI, on Slack to let him know about the potential problem. He quickly registered an account, and thus ember-tomster was born.

If you attribute a commit to an e-mail address that is not claimed, someone else can volunteer to take attribution. This is potentially problematic - especially when the commit is generated by a widely used tool.

Related Git Attribution Fun

In a related issue, you can attribute authorship of commits to someone else. Linus Torvalds has famously griped about this, and he seems to be a favorite for impersonation.

Tweet at Jon

Share this post!