6 ms·
Git-appraise: Distributed code review system for Git repos
- tremguy 11y agoSeems solid, are there any editors for this?
- procrastitron 11y agoThere's an Eclipse plugin, if that's what you mean: https://github.com/google/git-appraise-eclipse https://github.com/google/git-appraise-eclipse
- thesorrow 11y agoNice ! I guess storing issues and comments is possible too ?
- procrastitron 11y agoYes, this includes comments.
- pm90 11y agoHow does this compare w.r.t Gerrit? I see that an advantage is that it doesn't require server-side setup. But wouldn't one require some sort of central repo to coordinate code reviews and CI tests?
- untothebreach 11y agoI don't see why. Sure, the CI server would have to be involved in some way to run the tests, but a central server for "coordinating" code review is unnecessary, IMO. Now, as github (and others) have shown, a central place for code review is nice, but as long as the developers had tools that allowed them to work with the code reviews inside their repos, I don't see why a centralized service is necessary.
- xyzzy_plugh 11y agoMaybe the gerrit developers will be motivated to support this. There has been talk of offline review/moving all metadata to git for some time now. The point is that you can do reviews locally, push them, and other reviews will fetch. Just as git does not require a central authority, neither does this implementation. That being said you could still write a web frontend to all of this, ala gerrit.
- e40 11y agoTo me it looks like something that could be used to implement Gerrit, but it doesn't come close to what Gerrit offers, having used it for a few years now. Gerrit is excellent at what it does.
- amiraliakbari 11y agoI like Gerrit features, but it always seemed too complicated to integrate into usual coding workflow, especially with people always even complaining about git being "hard to use". This tools seems simpler compared to Gerrit, and more flexible compared to GitHub pull requests. I would appreciate advices on introducing Gerrit to my team and make it somehow transparent in development workflow.
- alblue 11y agoI wrote about Gerrit a few years ago: http://alblue.bandlem.com/2011/02/someday.html http://alblue.bandlem.com/2011/02/someday.html I recorded a video showing how it worked together: http://alblue.bandlem.com/2011/02/gerrit-git-review-with-jenkins-ci.html http://alblue.bandlem.com/2011/02/gerrit-git-review-with-jen... Once you understand the workflow it's actually easy to adopt. The biggest challenge is getting people to think in terms of push requests instead of pull requests. If you configure the remote as "git config push HEAD:refs/for/master" then it becomes as simple as doing "git push" to upload changes.
- cjbprime 11y agoIt does the code reviews in a distributed way. It just needs a central Git repo, but not a central code review server. CI tests could work in a similar way! Each CI runner is polling for new commits, running tests against them, and pushing the results as git-notes in the Git repo, just like for the reviews.
- bjackman 11y agoThis seems to be extremely different to Gerrit. Gerrit requires a centralised server which acts in place of a regular git server. It has its own database, distinct from git, and adds the notion of a "Change ID". Generally you do your review through a web interface. It's all quite clunky, but it does its job very well. This is distributed but more importantly it looks like it's more entangled/in-tune with git. It says it uses git notes [1], which appeals to me; they're a feature that are basically useless on their own, but seem to be included exactly for the use of something like git-appraise. Regarding your comment about a central repo, I'd guess the idea is you use git-appraise like you use git today; it's decentralised in the technical layers, but you assign "central" repo in the human workflow layer. [1] http://git-scm.com/docs/git-notes http://git-scm.com/docs/git-notes
- alblue 11y agoI asked the Gerrit devs for their opinion: because the git appraise solution doesn't support rebasing it doesn't work well with the idea of being able to fix commits and repush. https://groups.google.com/forum/m/#!topic/repo-discuss/Uab1nNhB46I https://groups.google.com/forum/m/#!topic/repo-discuss/Uab1n...
- nine_k 11y agoI always thought that built-in comments and docs are an excellent feature of Fossil [1], and wished git had it. Kudos to the author. [1]: http://www.fossil-scm.org http://www.fossil-scm.org
- secure 11y agoI can’t find any mention of GUI frontends for git-appraise. While I prefer to write code in my terminal, I like to switch settings for reviewing code — with GitHub’s Pull Requests, I can just do it in the browser. Can I use git-appraise in my browser? Is there a stand-alone tool?
- jonahx 11y agoUpvoted because this looks cool and I'm definitely your target audience. The README doesn't give me a great sense of how this actually works, though. A 5 minute video, or even a hypothetical example with some screenshots intermixed, would help a lot.
- dominotw 11y agohttps://github.com/google/git-appraise-eclipse https://github.com/google/git-appraise-eclipse
- deleted 11y ago[deleted]
- deleted 11y ago[deleted]
- ktt 11y agoWhat's interesting is that this project seems to be using itself for code review. Clone the repo and then fetch notes manually: git fetch origin refs/notes/*:refs/notes/* After installing it through "go get" check existing code reviews with "git appraise list". There are notes from Jenkins and comments from developers as far as I can see. Seems to be a little bit slow on my computer but the idea is really brilliant.
- ubercow 11y agoHow does this handle identity? For example, what's preventing me from just changing my name and reviewing myself?
- ktt 11y agoProbably the same way that git handles author and committer fields see: https://news.ycombinator.com/item?id=10005577 https://news.ycombinator.com/item?id=10005577
- andrewflnr 11y agoWhy does anyone part attention to your review anyway? Reputation. No one's going to trust a review from someone that doesn't have a track record. If you want to get a sock puppet identity with that much reputation by making useful contributions through it, well, go ahead. :) xkcd.com/810/
- flyinprogramer 11y agoThis seems like an awesome tool. Sadly my comment has more to do with Go, as I'm new to the language and trying to learn. When building a tool that uses git I'm wondering if it is better practice to use git2go (https://github.com/libgit2/git2go https://github.com/libgit2/git2go) or to do what this author did which is wrap the git command line tool: https://github.com/google/git-appraise/blob/master/repository/git.go#L37-L42 https://github.com/google/git-appraise/blob/master/repositor...
- ghthor 11y agoNothing wrong with calling the git command directly since this isn't an app that needs to scale past 1 human user. It could be some busy work in the future to translate it all into git2go, I have a project like this. It's a personal tool I use to write my journal and it wraps git to manage the entry data by placing it in a git repository.
- soinus 11y agoDamn, feeling completely dumb. I have installed the tool, and am trying it on one of my projects. After I do some local commits `git-appraise request` returns `There are no commits included in the review request`. Is there any tutorial or more documentation available somewhere? Or do I need to dig into its code to find the issue?
- m4dc4pXXX 11y agoTrying to use this and I get "exit status 128" for all reasonable invocations of "git appraise request ...". Looks seriously cool and I am sad!