2 pgjdbc ng development
Jesper Pedersen edited this page 2014-01-21 06:17:53 -08:00

So, you want to help out with pgjdbc-ng development, great !

The pgjdbc-ng project welcomes any contributions that improves the project in one way or another; features, bug-fixes, documentation, test cases or whatever you can think of.

Clone the repository

git clone git@github.com:yourname/pgjdbc-ng.git

cd pgjdbc-ng

git remote add upstream git@github.com:impossibl/pgjdbc-ng.git

Feature branch

git checkout -b feature_develop develop

It is considered good practice to name your feature branch with a postfix that identifies the target branch.

Do development

Implement your feature and remember to run the test suite.

Do

git commit -a -m "My feature Part x"

along the way if you get to a point where it is nice to have a check point in the code.

Once you are done with your feature you need to ready your branch for a pull request.

Squash your commits into a single commit

git rebase -i HEAD~x

where 'x' is the number of commits you have done, and write a description of the feature as the commit message. You can use

gitk

to verify your branch history.

Next rebase against upstream

git fetch upstream

git rebase -i upstream/develop

and resolve any conflicts, and push your feature to your repository

git push origin feature_develop

Submit your pull request

Use GitHub's "Submit pull request" to submit.

Review

The committers of pgjdbc-ng will then review your pull request. People from the pgjdbc-ng community may jump in with feedback too.

If there are any comments on your pull request fix those, and submit those as a separate commit on your branch. You can use

git push -f origin feature_develop

to do so. Remember to rebase against upstream.

Merging of your pull request

Once the feature is ready to be merged into the main repository the committer will likely ask you to squash your commits again - if multiple exists.

This helps keeping the history linear, and makes it easier to backport your feature to other branches.

Time to Party

Once the feature has been merged to the main repository you can update your local copy

git checkout develop

git fetch upstream

git rebase -i upstream/develop

git push origin develop

and delete your remote and local feature branch

git push origin :feature_develop

git branch -d feature_develop

And it is time to party !