git-who
is a new command-line tool designed to improve Git blame functionality for large repositories and teams. It aims to provide a more informative and efficient way to determine code authorship, particularly in scenarios with frequent merges, rebases, and many contributors. Unlike standard git blame
, git-who
aggregates contributions by author across commits, offering summaries and statistics such as lines of code added/removed and commit frequency. This makes it easier to identify key contributors and understand the evolution of a codebase, especially in complex or rapidly changing projects.
Simon Willison argues that computers cannot be held accountable because accountability requires subjective experience, including understanding consequences and feeling remorse or guilt. Computers, as deterministic systems following instructions, lack these crucial components of consciousness. While we can and should hold humans accountable for the design, deployment, and outcomes of computer systems, ascribing accountability to the machines themselves is a category error, akin to blaming a hammer for hitting a thumb. This doesn't absolve us from addressing the harms caused by AI and algorithms, but requires focusing responsibility on the human actors involved.
HN users largely agree with the premise that computers, lacking sentience and agency, cannot be held accountable. The discussion centers around the implications of this, particularly regarding the legal and ethical responsibilities of the humans behind AI systems. Several compelling comments highlight the need for clear lines of accountability for the creators, deployers, and users of AI, emphasizing that focusing on punishing the "computer" is a distraction. One user points out that inanimate objects like cars are already subject to regulations and their human operators held responsible for accidents. Others suggest the concept of "accountability" for AI needs rethinking, perhaps focusing on verifiable safety standards and rigorous testing, rather than retribution. The potential for individuals to hide behind AI as a scapegoat is also raised as a major concern.
Summary of Comments ( 54 )
https://news.ycombinator.com/item?id=43404548
HN users generally found
git-who
interesting and potentially useful. Several commenters appreciated its ability to handle complex blame scenarios across merges and rewrites, suggesting improvements like integrating with a GUI blame tool and adding options for ignoring certain commits or authors. Some debated the term "industrial-scale," feeling it was overused, while others pointed out existing tools with similar functionality, such asgit fame
and the "View Blame Prior to this Commit" feature in IntelliJ. There was also discussion around performance concerns for very large repositories and the desire for more robust filtering and sorting options. One user even offered a small code improvement to handle empty input gracefully.The Hacker News post about "Git who," a CLI tool for industrial-scale Git blaming, has generated several comments discussing its utility, potential alternatives, and specific features.
Several commenters appreciated the tool's focus on speed and efficiency, especially when dealing with large repositories and blame history. One commenter highlighted the slow performance of
git blame
in such scenarios and expressed interest in tryinggit-who
. Another user questioned the necessity of a new tool, suggesting that tools likegit log -S
might suffice. A response to this suggested thatgit-who
offered more convenient filtering options and a clearer presentation of results, especially for identifying the introduction and removal of lines of code.The discussion also touched on the complexities of accurately attributing code changes in large, collaborative projects. One commenter pointed out the challenges posed by code refactoring and merging, which can make it difficult to pinpoint the true origin of specific lines. This commenter suggested incorporating features to handle code moves and rewrites effectively.
A few commenters expressed interest in the tool's integration with other development tools and workflows. One suggested the possibility of integrating
git-who
with code review platforms or IDEs to provide more context during code analysis.The ability to quickly identify the author of specific lines of code, especially in large codebases, resonated with many commenters. This is particularly relevant in industrial settings where understanding the history and evolution of code is crucial for maintenance, debugging, and future development. The speed improvements offered by
git-who
over traditionalgit blame
were seen as a significant advantage.Overall, the comments suggest a positive reception to
git-who
, with a focus on its potential for improving developer workflow and efficiency in large-scale Git projects. The discussion highlights the challenges of code attribution in complex projects and suggests avenues for further development and integration.