THIS IS A TEST INSTANCE. ALL YOUR CHANGES WILL BE LOST!!!!
...
- Follow instructions here to setup the jira-python package
- Follow instructions here to setup the reviewboard python toolsDownload the kafka reviewboard script here and place it in the location of your git checkout. Once KAFKA-1053 is resolved, this step will be unnecessary
- Install the argparse module
Code Block On Linux -> sudo yum install python-argparse On Mac -> sudo easy_install argparse
2. Usage
Code Block |
---|
nnarkhed-mn:kafka-git-idea nnarkhed$ python kafka-patch-review.py --help usage: kafka-patch-review.py [-h] -b BRANCH -j JIRA [-s SUMMARY] [-d DESCRIPTION] [-r REVIEWBOARD] [-t TESTING] [-v VERSION] [-db] Kafka patch review tool optional arguments: -h, --help show this help message and exit -b BRANCH, --branch BRANCH Tracking branch to create diff against -j JIRA, --jira JIRA JIRA corresponding to the reviewboard -s SUMMARY, --summary SUMMARY Summary for the reviewboard -d DESCRIPTION, --description DESCRIPTION Description for reviewboard -r REVIEWBOARD, --rb REVIEWBOARD Review board that needs to be updated -t TESTING, --testing-done TESTING Text for the Testing Done section of the reviewboard -v VERSION, --version VERSION Version of the patch -db, --debug Enable debug mode |
...
- Specify the branch against which the patch should be created (-b)
- Specify the corresponding JIRA (-j)
- Specify an optional summary (-s) and description (-d) for the reviewboard
Example:
Code Block |
---|
python kafka-patch-review.py -b origin/trunk -j KAFKA-42 -s "test summary" -d "test description"
|
4. Update patch
- Specify the branch against which the patch should be created (-b)
- Specify the corresponding JIRA (--jira)
- Specify the rb to be updated (-r)
- Specify an optional summary (-s) and description (-d) for the reviewboard, if you want to update it
- Specify an optional version of the patch. This will be appended to the jira to create a file named JIRA-<version>.patch. The purpose is to be able to upload multiple patches to the JIRA. This has no bearing on the reviewboard update.
...
Code Block |
---|
python kafka-patch-review.py -b origin/trunk -j KAFKA-42 -r 14081 -s "update summary" -d "update description" --version v2
|
JIRA command line tool
1. Download the JIRA command line package
...
Code Block |
---|
sudo yum install python-setuptools
sudo easy_install -U RBTools
|
If you are on Mac, follow these steps
Code Block |
---|
sudo easy_install -U setuptools sudo easy_install -U RBTools |
...
Code Block |
---|
jkreps$ cat ~/.reviewboardrc
REPOSITORY = 'git://git.apache.org/kafka.git'
TARGET_GROUPS = 'kafka'
GUESS_FIELDS = True
|
FAQ
When I run the script, it throws the following error and exits
Code Block |
---|
nnarkhed$python kafka-patch-review.py -b trunk -j KAFKA-42
There don't seem to be any diffs
|
There are 2 reasons that can cause this -
- The code is not checked into your local branch
- The -b branch is not pointing to the remote branch. In the example above, "trunk" is specified as the branch, which is the local branch. The correct value for the -b (--branch) option is the remote branch. "git branch -r" gives the list of the remote branch names.
When I run the script, it throws the following error and exits
Code Block |
---|
Error uploading diff
Your review request still exists, but the diff is not attached.
|
One of the most common root causes of this error are that the git remote branches are not up-to-date. Since the script already does that, it is probably due to some other problem. You can run the script with the --debug option that will make post-review run in the debug mode and list the root cause of the issue.