Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

HAWQ has 1 JIRA project:

  1. HAWQ for incubator-hawq and incubator-hawq-site

Before working on changes for any of the repositories, please locate an existing JIRA ticket or submit a new one. Before a ticket can be assigned, you need to be listed as contributor in the JIRA project. One of the project's team members with JIRA administration access will be able to assist. Please request to be added through an email on the project's dev@ mailing list.

...

The overall contribution process is to work on apache repo (https://git-wip-us.apache.org/repos/asf/incubator-hawq.git) and fork your own repo from the HAWQ github mirror repo for code review purpose.

Before forking your own repo, you need to have a github account. Then go to the web page https://github.com/apache/incubator-hawq, click "Fork" button. Now you get a forked repo (for example, https://github.com/changleicn/incubator-hawq).


Use the following steps to get the code to your local computer and do feature development.

Code Block
languagebash
# Clone the Apache repository. 
git clone https://git-wip-us.apache.org/repos/asf/incubator-hawq.git

# Enter the code directory
cd incubator-hawq
 
# Add your own forked github repo as “myfork” (used only for code review purpose)
git remote add myfork https://github.com/changleicn/incubator-hawq

# Merge the update of the upstream into your local master
git checkout master && git pull origin master

# Create a feature branch “feature-awesome” to work on
git checkout -b feature-awesome master

# Make changes and commit to local. Please format commit message as follows and feel free to add additional comments.
# <jira ticket number>. <Commit Message>
# Example: HAWQ-1002. Add awesome feature 
git commit -a -m "HAWQ-1002. Add awesome feature"

# Push it to your own github fork for code review
git push --set-upstream myfork feature-awesome

...

Now you can go to your own github fork to create pull requests for code review (https://github.com/changleicn/incubator-hawq). Choose the master branch of  https://github.com/apache/incubator-hawq as the base for code review. After your code is merged to Apache Repo by HAWQ committers, please close your pull request.

...

Code Block
languagebash
# Create a working directory
mkdir working
cd working

# Clone the apache repository
git clone https://git-wip-us.apache.org/repos/asf/incubator-hawq.git

# Add remote github mirror repository
git remote add github https://github.com/apache/incubator-hawq.git

# Get the pull request, using PR#2 as example, you can replace 2 with any other PR #.
git fetch github pull/2/head:feature_awesome

# Sometimes, the commits in the patch is based on old master
# So it needs to be rebased on current master
# For some cases, the committer should squash the commits in the branch into one commit
# And the original AUTHOR information should be kept to give credits to the contributor
git checkout feature_awesome
git rebase origin master
 
# Merge the patch (an alternative way to do this is to use "git cherry-pick")
git checkout master
git rebase feature_awesome

# Build
make

# Run tests (more in future before committing to “master” branch)
# Before run the following tests, you need to set up and start HDFS & HAWQ 
# More setup details are at: https://cwiki.apache.org/confluence/display/HAWQ/Build+and+Install).
make installcheck-good

 
# In case of some contributor often forget to close pull request,
# Append commit message to automatically close pull request after code merged. e.g. PR number is 12:
run `git commit --amend` and append "(close #12)" in a new line to commit message.
 
# Push to apache repo (note: all commits needs an Apache JIRA)
git push origin master

# Delete the feature branch
# And close the JIRA & add comment in the pull request to ask the contributor to close the pull request
git branch -d feature_awesome
 

...