This project has retired. For details please refer to its Attic page.
Apache Trafodion Initial Set Up

This page describes how a committer merges changes into the git repository.

Additional information about the Apache committer process can be found on the Git at the Apache Software Foundation page.

Step Task How-To
Configure git E-Mail Configure git to use your Apache e-mail address.
git config --global user.email myusername@apache.org
Check trafodion-contributors group Check that your github user is a public member in the trafodion-contributors group. This allows some permissions with the Jenkins test server. https://github.com/orgs/trafodion-contributors/people
Set Up Work Space Set up your work space so that you can merge pull requests.
  • In VNC/Gnome environment, either add to .bashrc or type at your current shell:
    unset SSH_ASKPASS
  • Pushing code to the Apache repository requires password authentication.
  • Ensure that your work space is cloned from github:
    git clone https://github.com/apache/incubator-trafodion
  • Ensure that you have a remote pointing to the Apache repo. (Setting only the push URL with username does not seem to work.)
    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
  • If the author is a trusted contributor, you can add them to a white-list of known users.

    • Post a comment
      jenkins, add user
  • 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

Validate Review Criteria

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

Merge Pull Request

Use the following procedure to merge a pull request.

Step Task Commands
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.

NOTE

If there are conflicts, either ask the contributor to merge up, or be prepared to resolve the conflicts yourself.

Create Local Merge Branch Create a local merge branch, based on the latest, greatest.
# You will be prompted for your Apache password
git fetch apache
git checkout -b mrg_12345 apache/master
Fetch Pull Request Branch Fetch pull request branch to default destination FETCH_HEAD
git fetch origin +refs/pull/12345/head
Merge Locally Merge locally, giving message that includes JIRA ID.

git merge --no-ff -m "Merge [TRAFODION-XYZ] PR-12345 Whizbang feature" \
FETCH_HEAD

NOTES

  • Sometimes you might want to squash their branch into a single commit. If so, add the --squash option.
  • If you forget the -m option, you end up with a less than helpful default comment.
    • Before you push the commit, you can fix the comment by:
      git commit --amend
Additional Checks Additional checks of what you are preparing to push.
git log apache/master..HEAD
git diff apache/master HEAD
Push Changes Push changes to the Apache repository, specifying the source and the destination branch.
# You will be prompted for your Apache password
git push apache HEAD:master

Completion

  1. Close Jira, if appropriate, or ask the contributor to do so.
  2. If ASF automation does not close the pull request, ask the contributor to do so.

Back to top


Disclaimer: Apache Trafodion is an effort undergoing incubation at the Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.

Apache, Apache Maven, Apache Maven Fluido Skin, the Apache feather logo, the Apache Maven project logo and the Apache Incubator project logo are trademarks of The Apache Software Foundation.