[{"data":1,"prerenderedAt":608},["ShallowReactive",2],{"project-43404548":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":36,"aspects":37,"strip":46,"post_text":48,"what":49,"said":86,"maker_in_thread":205,"shape":216,"grid":219,"attempts":569,"same_week":570,"maker_shows":44,"maker_hidden":600,"reader_version":601,"card":602},"43404548","\"Git who\"","A new CLI tool for industrial-scale Git blaming","title","Show HN: \"Git who\" – A new CLI tool for industrial-scale Git blaming","https:\u002F\u002Fgithub.com\u002Fsinclairtarget\u002Fgit-who","github.com","weebst",1742329209,2025,252,127,236,3837,7,"legend","dev_tools","git cli","cli",[24,25,26,27,28],"git blame","git authorship","git contributors","git shortlog","command line","mixed",0.339,{"positive":32,"neutral":33,"mixed":34,"critical":35},15,17,0,3,35,{"idea":38,"execution":40,"design":42,"docs":43,"performance":45},{"positive":35,"critical":39},2,{"positive":41,"critical":34},4,{"positive":34,"critical":34},{"positive":44,"critical":44},1,{"positive":39,"critical":34},[47,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,34,35,35,35,44,47,35,34,34,35,35,47,35,47,47,34,35,47,41,47,47,41],5,"I've always wanted a better way to explore the authorship data embedded in a Git commit log. I'm having fun building a CLI tool to do this.\n\nIt's a bit like the \"Contributors\" tab on Github that shows you how many commits each contributor has made but much faster and with many more options.\n\nIf you get a chance to try it out, please let me know. I'd love to hear feedback and suggestions. Thank you!",{"problem":50,"audience":56,"pricing":56,"motivation":57,"time_to_build":56,"stack":61,"openness":84,"stage":85,"team_size":85},{"value":51,"source":52,"evidence":53},"Exploring authorship data in a Git commit log, faster and with more options than GitHub's Contributors tab","maker",[54],{"id":55},"post",null,{"value":58,"source":52,"evidence":59},"Wanted a better way to explore authorship data in Git commit logs; having fun building it",[60],{"id":55},[62,74],{"value":63,"source":64,"evidence":65},"Go","commenter",[66,70],{"id":67,"by":68,"text":69},"43406856","unquietwiki","This looks like an almost pure Golang program, but still has a Ruby dependency. Is there a component\u002Flibrary that Ruby provides, that Go doesn't have? Or some other logic going on?",{"id":71,"by":72,"text":73},"43405536","ttyyzz","\"This requires that you have Go, Ruby, and the rake Ruby gem installed.\" - sticking to the binaries then :) Cool little project, will try it tomorrow!",{"value":75,"source":52,"evidence":76},"Ruby (build dependency, rake gem)",[77,80],{"id":78,"by":11,"text":79},"43406218","These are all build dependencies. You don't need any of these just to run git who. The language could be clearer; I'll update it.",{"id":81,"by":82,"text":83},"43406197","einpoklum","Followed the link, and the README said: > This requires that you have Go, Ruby, and the rake Ruby gem installed. That doesn't cut it for me. git - once built - depends on C…","open_source","unknown",{"praise":87,"objections":110,"requests":133,"questions":157,"alternatives":169},[88,95],{"value":89,"source":64,"evidence":90},"Fast on large repositories",[91],{"id":92,"by":93,"text":94},"43407843","dcchambers","This is fantastic! I love it. Pretty quick too... For a rails codebase that is ~18 years old, has 1695 committers and more than 220,000 commits: ``` time git who ... real…",{"value":96,"source":64,"evidence":97},"Useful, nice CLI tool",[98,102,106],{"id":99,"by":100,"text":101},"43406889","m000","Lovely tool. Thanks for the release! I had some fun with it before calling it a day. Here is my personal wishlist after a short test-drive. - Blame-based stats. While it is nice…",{"id":103,"by":104,"text":105},"43405554","numbers","I love TUI tools but I'm not too familiar with Golang, now I am thinking I should start looking into using go for TUIs this is a great tool!",{"id":107,"by":108,"text":109},"43407280","eddiejaoude","I love CLI tools, plus it is open source!",[111,122,126],{"value":112,"source":64,"evidence":113},"Blame is about the commit, not the author",[114,118],{"id":115,"by":116,"text":117},"43405644","lionkor","By the way, git blaming is really misunderstood by a lot of people; its NOT about who did it, its about which commit is to blame -- that's different.",{"id":119,"by":120,"text":121},"43409584","account42","I don't think the comparison to git blame is needed\u002Fwarranted. While the 'blame' in git blame suggests the tool is about identifying authors its main purpose is to identify…",{"value":123,"source":64,"evidence":124},"Build requires Ruby and rake, not just Go",[125],{"id":81,"by":82,"text":83},{"value":127,"source":64,"evidence":128},"Attribution can mislead, e.g. squashed or reformatted commits",[129],{"id":130,"by":131,"text":132},"43410659","dspillett","One thing to note, maybe particularly with reference to the “who wrote vim” analysis⁰, is that depending on workflow this can attribute more to internal contributors than you…",[134,142,146,150],{"value":135,"source":64,"evidence":136},"Pattern-based file inclusion and exclusion",[137,138],{"id":99,"by":100,"text":101},{"id":139,"by":140,"text":141},"43406378","anotherpaulg","This is great. I do this sort of git-blame accounting to track how much code is written by AI versus humans in each release of my app. My \"blame script\" has been slowing down as…",{"value":143,"source":64,"evidence":144},"Blame-based ownership stats for trees",[145],{"id":99,"by":100,"text":101},{"value":147,"source":64,"evidence":148},"Configuration file support",[149],{"id":99,"by":100,"text":101},{"value":151,"source":64,"evidence":152},"Homebrew release",[153],{"id":154,"by":155,"text":156},"43407855","kelseydh","I would love to see this get a brew release.",[158,165],{"value":159,"source":64,"evidence":160},"How to show more than the top ten rows",[161],{"id":162,"by":163,"text":164},"43405462","natemwilson","Cool, but how do I increase the number of rows? Is it always just the top ten?",{"value":166,"source":64,"evidence":167},"Why Ruby is needed when the code is mostly Go",[168],{"id":67,"by":68,"text":69},[170,177,184,191,198],{"value":27,"source":64,"evidence":171},[172,176],{"id":173,"by":174,"text":175},"43409167","seanhunter","For a low-tech version of this, I have long had an alias (which I call \"nerdwars\") to \"git shortlog -ns --no-merges\" which just gives the number of commits by contributor from…",{"id":119,"by":120,"text":121},{"value":178,"source":64,"evidence":179},"git-blameall",[180],{"id":181,"by":182,"text":183},"43406476","eichin","I've been carrying around a copy of \"git blameall\" for years - looks like https:\u002F\u002Fgithub.com\u002Fgnddev\u002Fgit-blameall is the same one - that basically does this, but keeps it all…",{"value":185,"source":64,"evidence":186},"git-praise",[187],{"id":188,"by":189,"text":190},"43406128","lelandfe","Alternatively git praise https:\u002F\u002Fgithub.com\u002Fansman\u002Fgit-praise",{"value":192,"source":64,"evidence":193},"tj\u002Fgit-extras git summary",[194],{"id":195,"by":196,"text":197},"43406174","syhol","I've been using `git summary` from tj\u002Fgit-extras for a while. It seems to do a similar job.",{"value":199,"source":64,"evidence":200},"MergeStat",[201],{"id":202,"by":203,"text":204},"43410500","patrickdevivo","This is such a cool tool. It's a better approach to solving many of the questions I built MergeStat to answer (https:\u002F\u002Fgithub.com\u002Fmergestat\u002Fmergestat-lite). It's been some time,…",{"comments":18,"answered":39,"key":206},[207,210,213],{"id":208,"text":209},"43407790","I'm very happy to hear you had fun with it. Thank you for the comprehensive feedback and for trying it out! Not sure what's happening with the tarball. Will take a look at that.",{"id":211,"text":212},"43406205","Wow! I had no idea. Will need to update the README. Thanks for the tip!",{"id":214,"text":215},"43406514","That's a neat idea, I can see how it'd be useful. If you have a shell that supports extended globbing, you could do something like: ``` $ git who table *\u002F**\u002F*.go ``` That works…",{"commenters":217,"max_depth":18,"maker_replies":18,"first_comment_mins":18,"lifespan_hours":218},91,110,[220,222,224,226,228,231,235,238,241,244,247,250,251,254,257,260,262,265,268,271,274,277,280,281,283,286,288,290,293,296,298,300,303,306,309,312,315,318,320,322,325,327,330,333,336,338,340,342,345,348,351,353,355,357,360,362,364,366,369,372,375,378,380,383,387,389,392,396,399,403,405,406,409,412,414,416,419,422,425,428,432,435,438,441,445,448,451,455,458,461,464,467,471,474,477,480,482,484,488,490,494,497,500,503,505,507,510,514,516,519,523,525,527,530,533,535,539,542,544,546,548,552,556,559,562,565,566],[99,34,47,221,100,34],"project\u002Fpositive\u002Fidea",[208,34,34,223,11,44],"maker\u002Fneutral\u002Fnone",[130,44,35,225,131,34],"project\u002Fneutral\u002Fidea",[115,39,34,227,116,34],"other\u002Fneutral\u002Fnone",[229,39,34,227,230,34],"43405771","markerz",[232,39,34,233,234,34],"43405788","commenter\u002Fneutral\u002Fnone","gleenn",[236,39,34,233,237,34],"43405858","lubutu",[239,39,34,227,240,34],"43407803","iterance",[242,39,34,233,243,34],"43411526","globular-toast",[245,39,34,227,246,34],"43405874","rav",[248,39,34,227,249,34],"43405970","mckn1ght",[181,39,34,227,182,34],[252,39,34,227,253,34],"43406483","weaksauce",[255,39,34,227,256,34],"43451987","follower",[258,39,34,233,259,34],"43406299","sshine",[261,39,34,233,116,34],"43409418",[263,39,34,227,264,34],"43410186","pjc50",[266,39,34,233,267,34],"43405865","orthoxerox",[269,39,34,233,270,34],"43406011","davely",[272,39,34,233,273,34],"43406358","ants_everywhere",[275,39,34,233,276,34],"43406258","recursive",[278,39,34,233,279,34],"43405884","kemitchell",[188,39,34,227,189,34],[282,39,34,227,82,34],"43406250",[284,39,34,233,285,34],"43407856","what",[287,39,34,227,120,34],"43409903",[289,39,34,227,131,34],"43410716",[291,39,34,227,292,34],"43406326","wilg",[294,39,34,227,295,34],"43406583","remram",[297,39,34,227,292,34],"43407606",[299,39,34,227,273,34],"43406342",[301,39,34,227,302,34],"43406600","dvt",[304,39,34,233,305,34],"43406826","cdogl",[307,39,34,227,308,34],"43407920","opello",[310,39,34,227,311,34],"43407968","awesome_dude",[313,39,34,227,314,34],"43408712","delusional",[316,39,34,227,317,34],"43408854","hn_user82179",[319,39,34,227,311,34],"43418050",[321,39,34,227,264,34],"43410206",[323,39,34,227,324,34],"43406788","Minor49er",[326,39,34,233,311,34],"43406972",[328,39,34,227,329,34],"43409984","anilakar",[331,39,34,233,332,34],"43411313","justusthane",[334,39,34,227,335,34],"43412925","ge96",[337,39,34,233,324,34],"43424320",[339,39,34,233,335,34],"43424894",[341,39,34,227,324,34],"43427838",[343,39,34,227,344,34],"43436388","funcDropShadow",[346,39,34,227,347,34],"43407695","kazinator",[349,39,34,227,350,34],"43409488","Lanolderen",[352,39,34,227,131,34],"43410706",[354,39,34,227,347,34],"43415767",[356,39,34,227,350,34],"43416167",[358,39,34,233,359,34],"43407754","TZubiri",[361,39,34,233,116,34],"43409425",[363,39,34,233,359,34],"43419779",[365,39,34,233,120,34],"43409943",[367,39,34,227,368,34],"43408013","gwbas1c",[370,39,34,227,371,34],"43408095","alisonatwork",[373,39,34,227,374,34],"43410989","Izkata",[376,39,35,225,377,34],"43413516","graemep",[379,39,34,227,256,34],"43452030",[381,39,34,233,382,34],"43408354","LarsenCC",[384,35,35,385,386,34],"43405698","project\u002Fneutral\u002Fexecution","mmcclimon",[211,35,34,388,11,44],"maker\u002Fpositive\u002Fdocs",[390,35,34,227,391,34],"43421862","jeff_carr",[393,35,35,394,395,34],"43406535","project\u002Fneutral\u002Fnone","chatmasta",[397,35,34,233,398,34],"43407303","mdaniel",[400,35,35,401,402,34],"43407413","project\u002Fneutral\u002Fdesign","igorbark",[404,35,34,233,120,34],"43409960",[173,41,35,225,174,34],[407,41,44,408,100,34],"43410871","project\u002Fcritical\u002Fidea",[410,47,34,227,411,34],"43406225","eMPee584",[139,413,47,221,140,34],6,[214,413,34,415,11,44],"project\u002Fneutral\u002Fdocs",[417,413,47,418,140,34],"43406623","project\u002Fpositive\u002Fnone",[420,413,34,421,11,44],"43406728","maker\u002Fpositive\u002Fnone",[423,413,35,415,424,34],"43407687","JadeNB",[426,413,35,415,427,34],"43410111","reubenmorais",[429,18,34,430,431,34],"43412029","other\u002Fneutral\u002Fidea","nbenitezl",[433,18,34,430,434,34],"43412258","eddd-ddde",[436,18,34,227,437,34],"43412263","fouronnes3",[439,18,34,227,440,34],"43415793","chrishill89",[442,443,34,430,444,34],"43408858",8,"p0w3n3d",[446,443,34,233,447,34],"43408914","jval43",[449,443,34,227,450,34],"43409208","ginko",[452,453,35,225,454,34],"43404630",9,"andrewfromx",[456,453,35,415,457,34],"43405301","jtwaleson",[459,453,35,415,460,34],"43405325","sebastianlay",[462,453,34,233,463,34],"43405992","Cadwhisker",[465,453,34,227,466,34],"43414245","Noumenon72",[468,453,34,469,470,34],"43405789","commenter\u002Fneutral\u002Fdocs","dolmen",[472,453,34,473,11,44],"43406226","maker\u002Fneutral\u002Fdocs",[475,453,34,233,476,34],"43408502","max23_",[71,478,47,479,72,34],10,"project\u002Fpositive\u002Fexecution",[119,481,44,408,120,34],11,[202,483,47,221,203,34],12,[485,486,34,227,487,34],"43405423",13,"nextts",[154,489,47,479,155,34],14,[491,489,47,492,493,34],"43409968","maker\u002Fpositive\u002Fexecution","camdotcom14",[495,32,47,418,496,34],"43406955","ycombinatrix",[92,498,47,499,93,34],16,"project\u002Fpositive\u002Fperformance",[501,33,34,227,502,34],"43405776","rednafi",[504,33,34,227,270,34],"43406028",[506,33,34,227,189,34],"43406318",[508,33,34,227,509,34],"43408222","apple1417",[511,512,34,227,513,34],"43408857",18,"physicsguy",[67,515,35,385,68,34],19,[517,515,35,385,518,34],"43408805","ajanuary",[520,521,34,227,522,34],"43408634",20,"avalys",[524,521,34,233,493,34],"43409967",[103,526,47,418,104,34],21,[528,526,34,227,529,34],"43406530","qudat",[531,532,34,227,476,34],"43408533",22,[195,534,35,225,196,34],23,[536,537,35,225,538,34],"43406080",24,"fmeyer",[540,541,47,499,457,34],"43405352",25,[162,543,35,401,163,34],26,[545,543,34,473,11,44],"43406228",[107,547,47,418,108,34],27,[549,550,34,227,551,34],"43407629",28,"coryvirok",[553,554,35,385,555,34],"43415791",29,"_andrei_",[557,558,47,418,382,34],"43408355",30,[560,561,47,479,347,34],"43408099",31,[81,563,44,564,82,34],32,"project\u002Fcritical\u002Fdocs",[78,563,34,473,11,44],[567,563,47,568,82,34],"43406256","project\u002Fpositive\u002Fdocs",[],[571,576,581,586,591,595],{"id":572,"name":573,"points":574,"category":575},"43358914","Nash",536,"productivity",{"id":577,"name":578,"points":579,"category":580},"43401855","BlueMigrate",524,"infrastructure",{"id":582,"name":583,"points":584,"category":585},"43373242","my-yt",319,"consumer_social",{"id":587,"name":588,"points":589,"category":590},"43398081","MinesweeperPro",242,"games",{"id":592,"name":593,"points":594,"category":20},"43377897","Cascii",238,{"id":596,"name":597,"points":598,"category":599},"43392951","map.koljapluemer.com",217,"learning_science",false,"v2",{"id":603,"name":5,"line":6,"ai":600,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":604,"top":18,"kw":605,"maker":11,"domain":10,"tier":19,"attempts":34,"strip":606,"url":9,"mix":607,"praise":89,"objection":112,"sub":21},43404548,0.34,[24,25,26,27,28],"5000000000000000000333153003353550354554",[32,33,34,35],1794036671448]