...
Step 1: Configure git E-Mail
Configure git
to use your Apache e-mail address.
Code Block | ||
---|---|---|
| ||
git config --global user.email myusername@apache.org |
...
In VNC/Gnome environment, either add to
.bashrc
or type at your current shell:Code Block language bash unset SSH_ASKPASS
- Pushing code to the Apache repository requires password authentication.
Ensure that your work space is cloned from GitHub:
Code Block language bash git clone https://github.com/apache/incubator-trafodion
Ensure that you have a remote pointing to the Apache repository. (Setting only the push URL with user name does not seem to work.)
Code Block language bash git remote add apache https://USERNAME@git-wip-us.apache.org/repos/asf/incubator-trafodion.git
Automated Testing
...
You can interact with Jenkins testing via pull request (PR) comments. All of these commands should start with "jenkins," to not confuse other users. You can add more to the end of the message if you want. Jenkins just pattern matches the string, and will ignore trailing comments.
- If an unknown user submits a PR, then Jenkins automation will post a message to GitHub asking if it is okay to test.
- Review the pull request. If the code is not malicious and is okay to test, post a comment
jenkins, ok
- Review the pull request. If the code is not malicious and is okay to test, post a comment
- If the author is a trusted contributor, you can add them to a white-list of known users.
- Post a comment
jenkins, add user
- Post a comment
- Consider inviting them to the
trafodion-contributors
GitHub group as well.- New commits to the PR will trigger a new build. You can also trigger a retest without a new commit.
- Post a comment
jenkins, retest
...
The project committee (PPMC) has agreed that the following review criteria are used for contributions:
- Code Review(s)
- Time available for comments
- Testing
- Be sure that you wait for all pending tests!
- New commits, even those that are just merging with latest master branch, trigger new test run.
- Legal
- Other
...
- Other
Guidelines for Code Reviews
...
Reviews
Anyone can be a reviewer: participating in the review process is a great way to learn about the Trafodion development processes.
...
C code should comply with the [[cplusplus-guidelines,C Guidelines]].
The code shouldlook like the code around it, to make the code more uniform and easier to read.
New test cases should be implemented as described in Modifying Tests.
General Flow
Review is a conversation that works best when it flows back and forth. Submitters need to be responsive to questions asked in comments, even if the score is +0 from the reviewer. Likewise, reviewers should not use a negative score to elicit a response if they are not sure the patch should be changed before merging.
...
Merge Pull Requests
Step 1: Check Status
Check the pull request status on GitHub, at the bottom of the pull request page. It will tell you if there are any merge conflicts with master branch.
Info |
---|
If there are conflicts, either ask the contributor to merge up, or be prepared to resolve the conflicts yourself. |
Step 2: Create Local Merge Branch
Create a local merge branch, based on the latest, greatest.
Code Block | ||
---|---|---|
| ||
# You will be prompted for your Apache password git fetch apache git checkout -b mrg_12345 apache/master |
Step 3: Fetch Pull Request Branch
Fetch pull request branch to default destination FETCH_HEAD
.
Code Block | ||
---|---|---|
| ||
git fetch origin +refs/pull/12345/head |
Step 4: Merge Locally
Merge locally, giving message that includes JIRA ID.
Code Block | ||
---|---|---|
| ||
git merge --no-ff -m "Merge [TRAFODION-XYZ] PR-12345 Whizbang feature" FETCH_HEAD |
...
Step 5: Additional Checks
Additional checks of what you are preparing to push.
Code Block | ||
---|---|---|
| ||
git log apache/master..HEAD git diff apache/master HE |
Step 6: Push Changes
Push changes to the Apache repository, specifying the source and the destination branch.
Code Block | ||
---|---|---|
| ||
# You will be prompted for your Apache password git push apache HEAD:master` |
Completion
- Close Jira, if appropriate, or ask the contributor to do so.
- If ASF automation does not close the pull request, ask the contributor to do so.
...