Hacker ApprovedDepartments

sem

Hacker Approved

Shares rank 3 of 13 diff tools by recommenders

Shows which functions and classes changed rather than lines, layered on Git with no repo migration. Critics say it would be rough on something like the Linux kernel.

Shows which functions and classes changed rather than lines, layered on Git with no repo migration. Critics say it would be rough on something like the Linux kernel.

26 people gave an opinion

recommend it
19
criticize it
7
approval share
73%
Each figure is one person. RecommendsCriticizes

Recommended in 5 of 13 months

  1. November 2025: not recommended
  2. December 2025: not recommended
  3. January 2026: not recommended
  4. February 2026: recommended
  5. March 2026: recommended
  6. April 2026: recommended
  7. May 2026: not recommended
  8. June 2026: recommended
  9. July 2026: recommended
  10. August 2026: not recommended
  11. September 2026: not recommended
  12. October 2026: not recommended
  13. November 2026: not recommended (month in progress)

Why it carries the badge

  • 19 people recommend itNeeds 10 or more, met.
  • 2.7 recommenders for every criticNeeds 2 to 1 or better, met.
  • Recommended in 5 of 13 monthsNeeds 4 or more, met.

The same three rules apply to every product, and the badge can’t be bought. How the badge works

What people say about it

The reasons people give, with the number of comments that give each one. Open a reason to read what they said.

Why people recommend it

Each mark is one comment

  • Works on top of Git

    “sem stays on top of git so there's zero migration cost, you keep your existing repo and workflows.”

    Comment from 9 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

    “A step in the right direction, and interesting in that it layers over existing git”

    Comment from 7 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

    “sem computes semantic diffs on top of your Git repo—no repo rewrite needed.”

    Comment from 7 Feb 2026 in “Show HN: Sem – Semantic diffs and patches for Git”
  • Wide language support via tree-sitter

    “extracts entities from 30+ languages via tree-sitter and builds a cross-file dependency graph”

    Comment from 30 Apr 2026 in “Vera: a programming language designed for machines to write”

    “I'm glad someone else already implemented it with support for more languages.”

    Comment from 8 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

    “working across multiple languages with a single tool can be quite helpful”

    Comment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”
  • Shows changed functions, not lines

    “When AI agents are committing hundreds of changes a session, you need to know which functions changed, not which lines”

    Comment from 8 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

    “Instead of showing you which syntax nodes changed, it shows you which functions, classes, and methods changed”

    Comment from 28 Mar 2026 in “Improved Git Diffs with Delta, Fzf and a Little Shell Scripting”
  • Ignores cosmetic changes, fewer false conflicts

    “purely cosmetic changes like reformatting or renaming a local variable won't show as a diff”

    Comment from 9 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

    “that level of understanding is enough to resolve 100% of false conflicts on our benchmarks”

    Comment from 9 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

What people warn about

Each mark is one comment

  • Overrides git diff, hard to undo

    “I'd remove setup/unsetup commands and replace with a note that if you want to use it for git diff”

    Comment from 7 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

    “But there are no instructions for how to reverse those actions if you don't like the tool.”

    Comment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

    “incredibly obnoxious that it overrides default git diff”

    Comment from 7 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”
  • Real-world value still unproven

    “I doubt if this actually solves a real problem for humans or agents”

    Comment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

    “I am not sure if these are ready for prime-time yet.”

    Comment from 20 Mar 2026 in “Kin: Semantic version control that tracks code as entities, not files”
  • Overclaims, benchmarks favor sem

    “The benchmarks aren't great, they're super specific to sem's output”

    Comment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

    “Your tool is cool. Sell it for what it is. Not for what it's not.”

    Comment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

Other diff tools people recommend

The four most recommended other diff tools, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.

sem compared with 4 alternatives
ProductRecommendCriticizeApprovalMonthsOwnedBadge
difftastic23196%10—Approved
Weave merge tool201165%6——
semThis page19773%5—Approved
Mergiraf19483%56 mo3 ownersApproved
Meld12286%5—Approved
See all 13 diff tools, ranked

What people said

36 of the 39 comments that mention it, newest first. Each links to the original comment.

“They at least give a more structured approach to dealing with code than simple text.”

RecommendsComment from 13 Jul 2026 in “Ask HN: What Are You Working On? (July 2026)”

“indispensable for models to make less mistakes for me”

RecommendsComment from 7 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“I'd remove setup/unsetup commands and replace with a note that if you want to use it for git diff”

CriticizesComment from 7 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“incredibly obnoxious that it overrides default git diff”

MixedComment from 7 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“This looks really neat, but I see its diff output as complimentary to git”

RecommendsComment from 7 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“A step in the right direction, and interesting in that it layers over existing git”

RecommendsComment from 7 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“The tool looks great! Thanks for sharing.”

RecommendsComment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“But there are no instructions for how to reverse those actions if you don't like the tool.”

CriticizesComment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“Your tool is cool. Sell it for what it is. Not for what it's not.”

MixedComment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“I doubt if this actually solves a real problem for humans or agents”

CriticizesComment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“Okay that is pretty cool. I appreciate this information as a human also.”

RecommendsComment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“The benchmarks aren't great, they're super specific to sem's output”

CriticizesComment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“working across multiple languages with a single tool can be quite helpful”

RecommendsComment from 6 Jun 2026 in “Sem: New primitive for code understanding – not LSPs, but entities on top of Git”

“extracts entities from 30+ languages via tree-sitter and builds a cross-file dependency graph”

RecommendsComment from 30 Apr 2026 in “Vera: a programming language designed for machines to write”

“Semantic diffing would pair really well with stacks.”

RecommendsComment from 14 Apr 2026 in “GitHub Stacked PRs”

“The key insight is distinguishing signature changes from body changes.”

RecommendsComment from 30 Mar 2026 in “More on Version Control”

“sem does it structurally: parses both sides with tree-sitter, computes structural hashes, walks the real dependency graph”

RecommendsComment from 28 Mar 2026 in “Improved Git Diffs with Delta, Fzf and a Little Shell Scripting”

“sem gives you both. sem diff --verbose shows the full before/after body of each changed entity.”

RecommendsComment from 28 Mar 2026 in “Improved Git Diffs with Delta, Fzf and a Little Shell Scripting”

“It tells you the function changed but not how; you still need line-level diffs.”

CriticizesComment from 28 Mar 2026 in “Improved Git Diffs with Delta, Fzf and a Little Shell Scripting”

“Instead of showing you which syntax nodes changed, it shows you which functions, classes, and methods changed”

RecommendsComment from 28 Mar 2026 in “Improved Git Diffs with Delta, Fzf and a Little Shell Scripting”

“i think that's where version control is going”

RecommendsComment from 22 Mar 2026 in “A Coherent Vision for the Future of Version Control”

“I am not sure if these are ready for prime-time yet.”

CriticizesComment from 20 Mar 2026 in “Kin: Semantic version control that tracks code as entities, not files”

“sem already does this. sem graph builds a cross-file entity dependency graph and sem impact tells you”

RecommendsComment from 9 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

“that level of understanding is enough to resolve 100% of false conflicts on our benchmarks”

RecommendsComment from 9 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

“sem stays on top of git so there's zero migration cost, you keep your existing repo and workflows.”

RecommendsComment from 9 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

“purely cosmetic changes like reformatting or renaming a local variable won't show as a diff”

RecommendsComment from 9 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

“as it relies on function names and changes therein having a direct mapping to meaning with standard text processing”

MixedComment from 8 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

“I'm glad someone else already implemented it with support for more languages.”

RecommendsComment from 8 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

“knowledge graph matching on top of commits”

RecommendsComment from 8 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

“When AI agents are committing hundreds of changes a session, you need to know which functions changed, not which lines”

RecommendsComment from 8 Mar 2026 in “Sem – Semantic version control. Entity-level diffs on top of Git”

“Fully deterministic, no llm calls”

RecommendsComment from 7 Mar 2026 in “Git diffs are 40 years old, introducing Semantic diffs”

“For most application-level C++ it works well, but something like the Linux kernel would be rough.”

MixedComment from 4 Mar 2026 in “Weave – A language aware merge algorithm based on entities”

“Much less tokens, and much more accurate”

RecommendsComment from 4 Mar 2026 in “Weave – A language aware merge algorithm based on entities”

“which does entity-level diffs”

RecommendsComment from 4 Mar 2026 in “Weave – A language aware merge algorithm based on entities”

“sem computes semantic diffs on top of your Git repo—no repo rewrite needed.”

RecommendsComment from 7 Feb 2026 in “Show HN: Sem – Semantic diffs and patches for Git”

“Results: 95.9% accuracy vs 41.5%.”

RecommendsComment from 5 Feb 2026 in “Agents should not use Git anymore”

Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.