HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
google
git-appraise
Go2015–2026
google / git-appraise

git-appraise

Distributed code review system for Git repos

38Distinct people
56Mentions
0Explicit recommenders
5.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Distributed code review system for Git repos

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:54:37 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year56 dated mentions

Observed mentions: 2015-09-04 22:32:53 UTC to 2026-09-25 13:49:59 UTC.

02468102015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments20152016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 10 mentions; 1 submissions, 9 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC422
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC10010
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC707
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC1019
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC202
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC514
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC303
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC413
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC404
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC404

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Distributed Code Review For Git This repo contains a command line tool for performing code reviews on git repositories. Overview This tool is a distributed code review system for git repos. By "distributed", we mean that code reviews are stored inside of the repository as git objects. Every developer on your team has their own copy of the review history that they can push or pull. When pulling, updates from the remote repo are automatically merged by the tool. This design removes the need for any sort of server-side setup. As a result, this tool can work with any git hosting provider, and the only setup required is installing the client on your workstation. Installation Assuming you have the Go tools installed, run the following command: go install github.com/google/git-appraise/git-appraise@latest Then, either make sure that ${GOPATH}/bin is in your PATH, or explicitly add the "appraise" git alias by running the following command. git config --global alias.appraise '!'"${GOPATH}/bin/git-appraise" Windows: git config --global alias.appraise "!%GOPATH%/bin/git-appraise.exe" Requirements This tool expects to run in an environment with the following attributes: The git command line tool is installed, and included in the PATH. The tool is run from within a git repo. The git command line tool is configured with the credentials it needs to push to and pull from the remote repos. Usage Requesting a code review: git appraise request Pushing code reviews to a remote: git appraise push [<remote>] Pulling code reviews from a remote: git appraise pull [<remote>] Listing open code reviews: git appraise list Showing the status of the current review, including comments: git appraise show Showing the diff of a review: git appraise show --diff [--diff-opts "<diff-options>"] [<review-hash>] Commenting on a review: git appraise comment -m "<message>" [-f <file> [-l <line>]] [<review-hash>] Accepting the changes in a review: git appraise accept [-m "<message>"] [<review-hash>] Submitting the current review: git appraise submit [--merge | --rebase] A more detailed getting started doc is available here. Metadata The code review data is stored in git-notes, using the formats described below. Each item stored is written as a single line of JSON, and is written with at most one such item per line. This allows the git notes to be automatically merged using the "cat_sort_uniq" strategy. Since these notes are not in a human-friendly form, all of the refs used to track them start with the prefix "refs/notes/devtools". This helps make it clear that these are meant to be read and written by automated tools. When a field named "v" appears in one of these notes, it is used to denote the version of the metadata format being used. If that field is missing, then it defaults to the value 0, which corresponds to this initial version of the formats. Code Review Requests Code review requests are stored in the "refs/notes/devtools/reviews" ref, and annotate the first revision in a review. They must conform to the request schema. If there are multiple requests for a single commit, then they are sorted by timestamp and the final request is treated as the current one. This sorting should be done in a stable manner, so that if there are multiple requests with the same timestamp, then the last such request in the note is treated as the current one. This design allows a user to update a review request by re-running the git appraise request command. Continuous Integration Status Continuous integration build and test results are stored in the "refs/notes/devtools/ci" ref, and annotate the revision that was built and tested. They must conform to the ci schema. Robot Comments Robot comments are comments generated by static analysis tools. These are stored in the "refs/notes/devtools/analyses" ref, and annotate the revision. They must conform to the analysis schema. Review Comments Review comments are comments that were written by a person rather than by a machine. These are stored in the "refs/notes/devtools/discuss" ref, and annotate the first revision in the review. They must conform to the comment schema. Integrations Libraries Go (use git-appraise itself) Rust Graphical User Interfaces Git-Appraise-Web Plugins Eclipse Jenkins Mirrors to other systems GitHub Pull Requests Phabricator Revisions Contributing Please see the CONTRIBUTING file for information on contributing to Git Appraise.
Read the full README on GitHub

What Hacker News says

56 sources
There were a few efforts like that back in the day (when people still cared about offline and store-and-forward-style operation[1]), like Bugs Everywhere[3], git-appraise[4] which stored its data in Git’s little-known “notes” namespace[5], and git-bug[6] which for some reason I’ve seen mentioned quite a bit in such threads recently unlike the others—though I’m not complaining about one of them getting mentioned at least. Also, as far as read-only access, Gerrit review data is actually accessible via Git[7] (for review ABCDE, pull refs/changes/DE/ABCDE/meta instead of one of the usual numbered refs under that prefix), and someone made the effort[8] to make it accessible via Git notes too (as mentioned in the post on Git notes that I linked above). Also also, the Fossil SCM of SQLite fame somewhat famously does[9] do this kind of thing with
Read the rest
its builtin bug tracker. It has been relegated to obscurity partly as an accident of history (Git won) and partly on the merits (it is aggressively hostile to the kind of history rewriting we are used to routinely—if not always wisely—performing in Git). Going back to working on top of Git, though, I think that part of the problem is that you really want custom merge strategies when you’re trying to build a fancy datatype, and Git’s support for them requires a lot of wrapping to make it seamless (the location tracking stuff in git-annex[10] is the only success story I am aware of, and that’s a sizeable Haskell project). The existing porcelain is just too rigid. [1] Can I have a viable replacement for PGP for that use case? Please stop telling me that I don’t exist and should screw off[2]? Please?.. [2] https://news.ycombinator.com/item?id=44239804 [3] https://github.com/aaiyer/bugseverywhere [4] https://github.com/google/git-appraise [5] https://tylercipriani.com/blog/2022/11/19/git-notes-gits-coo..., https://news.ycombinator.com/item?id=44345334 (579 points, 146 comments) [6] https://github.com/git-bug/git-bug [7] https://gerrit-review.googlesource.com/Documentation/note-db... [8] https://gerrit.googlesource.com/plugins/reviewnotes/+/refs/h... [9] https://fossil-scm.org/home/doc/trunk/www/bugtheory.wiki [10] https://git-annex.branchable.com/
In If I could make my own GitHub
Over the years I've come to the conclusion that all these UIs on top of Git make little sense. Git itself is already distributed, which goes beyond federation. Exposing a Git repo over the network is trivial with HTTP or SSH. It supports code review workflows via email, though I really like the approach of storing reviews inside the repo itself via something like git-appraise[1]. Integrating it with CI/CD pipelines _can_ be simple, if the pipeline can be triggered by pushes. Instead we've created these centralized UIs over Git, and are trying to get them to integrate with one another. This seems backwards to me since Git is already decentralized. [1]: https://github.com/google/git-appraise
In Forgejo: A self-hosted lightweight software forge
Here's an example I like to share, re: when LLMs can be better than doing the searching myself: https://topicalsource.dev/chat/023e7e54-947b-490d-bcd8-89cc2... I understand the concepts, it's not complex, but it's something I don't use or do daily. One of the other differences with working with LLMs over search is that I can provide a lot more input as part of my query. That context is often used within the answer, a much better experience than having to map multiple other examples onto mine. Also, I am not the author of a complex configuration management tool. Not sure what you are misreading. I have authored a deterministic code generation tool, maybe that is what you mean? It however is an alternative to LLM code generation that existed prior to the current LLM hype cycle If you don't like LLMs, that is totally fine. You don't need to
Read the rest
put down other people's usage or question why or how they get value out of it with feigns. Perhaps you might consider spending more time with the new knowledge tools that will not be going away. I just tried out the new Gemini Research assistant with the query... """ google has an open source project that enables pull requests to be embedded into a git repository and also comes with a gui. Can you help me find this project? """ It took a couple of minutes and came back with exactly the project I was looking for. Saved me a bunch of time and headache trying to find this: https://github.com/google/git-appraise I didn't have to know the exact search words or phrases, I didn't have to filter through multiple search results. I worked on this post while my LLM assistant did it for me
In Show HN: A blocklist to remove spam and bad websites from search results
> There's no ready record of the review process -- the comments. They eventually disappear I wonder if someone could build something clever with git-notes [0] to capture such discussions in the repo itself. I'm sure others have thought about it already, so there must be some kind of pitfall... A little more searching finds projects like git-appraise. [1] [0] https://git-scm.com/docs/git-notes [1] https://github.com/google/git-appraise
In "LibreOffice is better at reading old Word files than Word"
Absolutely. Going further, the little-known git-notes [1] feature also uses its own reference namespace, `refs/notes/` Going even further, Gerrit [2] leverages the wide-open reference namespace/directories to create its own. For example, pushing under the `refs/for/` namespace creates a new review, and specific reviews can be looked up under the `refs/changes/` namespace. Even even further, Gerrit's special repos All-Users.git and All-Projects.git are "databases" for project configuration and user configuration, where for example external IDs (like usernames) are stored under the special `refs/meta/external-ids` ref/branch. This has the notable benefit that all configuration changes are tracked and auditable. I believe git-appraise [3] also leverages special reference namespaces in Git for performing its review duties (but I don't know de
Read the rest
In Mounting Git commits as folders with NFS

Showing the 15 most recent of 56 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.