Wow, thanks Christian - that was quick :)!
 
I'll take a look at the github hook. Thanks!
 
Gesendet: Donnerstag, 17. Dezember 2015 um 11:47 Uhr
Von: "Christian Hammond" <christ...@beanbaginc.com>
An: "reviewboard@googlegroups.com" <reviewboard@googlegroups.com>
Betreff: Re: GitHub-style review flow
Just for you, Veit: https://reviews.reviewboard.org/r/7812/
 
I know this isn't a full answer to everything in your e-mail (it's nearly 3AM and I'm about to crash), but this should let you at least use api-get without a local checkout by passing --server=<url>.
 
To answer your last question, the old-style API has been gone for a few years, so it's not going to help you at all.
 
There's a hook (for git) available in https://github.com/reviewboard/rbtools/tree/master/contrib/tools that verifies approval before allowing a commit to go in, making use of Review Board's approval states on review requests (which defaults to requiring >= 1 Ship Its and no open issues, but extension hooks can augment/replace this logic). Could be useful as inspiration, though any work on it will require some Python development.
 
Christian
 
-- 
Christian Hammond - christ...@beanbaginc.com
Review Board - https://www.reviewboard.org
 
On Thu, Dec 17, 2015 at 2:18 AM, Veit Guna <veit.g...@gmx.de> wrote:
Hi.

In a project we're using subversion as our SCM. Since I like the GitHub review style very much, I would like to do the same with reviewboard.
For this the planned process would look like the following:

- The "master" branch is trunk
- All code changes are done within separate feature branches (e.g. under branches/features) like in GitHub
- Normally one developer is working on a feature branch
- Only reviewed and shipit code can be committed/merged to trunk

I would use two SVN hooks for this.

Feature branch hook:
- Post-Commit hook
- Only listens to changes under branches/features
- Takes the feature branch name (myfancyfeaturebranch) and checks it against the "branch" field in reviewboard
- If no review request exists for the branch field, it creates a draft review request, setting the branch field to feature branch name
- As a diff, it sends the whole changes from the feature branch start to HEAD
- Subsequent commits will find the existing draft review request (by branch field) and update it with the complete diff
- Once the developer is finished, he manually published the review request.
- Other developers start the review and leave comments/issues
- From there on, additional commits to the feature branch will only update the review request with the current revision diff
- Still, identification is done by the feature branch field
- If the review request gets the ship it, the developer can merge/commit it to trunk

Trunk hook:
- Pre-Commit hook
- Only listens to changes under trunk
- Checks for the commit message if there is a "review: <number>" in it
- If it isn't valid, the commit is aborted. Invalid states are:
  - none is specified
  - the review id does not exist
  - the review submitter isn't the same person
  - the review has no shipit
  - etc.
- After the merge is complete, the review request is deleted (or marked otherwise)

My question is, is that somehow possible with the latest reviewboard?

I took the contrib svnhook which already uses rbt and managed it to send the whole diff for a feature branch and to set the branch field.
What is left is to be able to query reviewboard for review requests for a specific branch field and maybe status (shipit flag etc.).
Is that somehow possible with rbt? I tried to use api-get, but that is complaining about a non-existing working copy. Since it is a
svnhook, it does not have a working copy at all :). So, can I use rbt api-get for my scenario at all? What are the alternatives for that?
Using the plain REST api? I'm not a python developer  and I'm not keen on becoming one ;).

For the trunk hook, I already found some hooks via google that almost do the same as I planned. But I think they use the (old?) json
style web api. Is it still supported and recommended? Are there alternatives?

WDYT?

Thanks!
Veit
 

 

--
Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

 

--
Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
Supercharge your Review Board with Power Pack: https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
---
You received this message because you are subscribed to the Google Groups "reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to