Kokua:Workflow

Establish or log in to you personal bitbucket account
Navigate to‭ ‬https://bitbucket.org/kokua/kokua/overview

Select fork to place a copy of kokua in your local account.‭ ‬This serves as the point for pull request into the main kokua project repository.‭ ‬If you have bug corrections or features to submit then several forks named for the feature or bug may be needed.‭ ‬If there is a redmine issue then the issue designation should be a part of the forked repository name.‭ ‬Such as‭ “‬KOKUA-XXXX My really great feature is done and ready to pull‭”‬.‭

Make two‭(‬2‭) ‬clones of the kokua viewer project source code repository
‎	‏hg clone‭ ‬http://bitbucket.org/kokua/kokua

Identify one clone as kokua-push and leave it as is for now.

Identify the second clone as kokua-work.

‎	‏Pull kokua branch: ‎		‏hg pull‭ ‬-b kokua‭ ‬http://bitbucket/kokua/kokua-old‭ (‬Or you own working copy‭) Leave this branch in its pulled state.‎ ‏Do not update or add change sets to kokua branch.‭ ‬This‭ 	‬branch is where change sets will be grafted from and placed into the default branch.

Review the change sets in kokua branch that you want to be in the kokua default repository.‭ ‬For the first time grafting a change set pick a simple one just to get a good feel for the grafting process.

‎	‏Graft the change set:

‎		‏hg graft‭ ‬-r XXXXX‭ ‬-rXXXXX If the subsequent merge completes without conflict a‭ 		‬new change set(s‭) ‬will now be at default‭ <‬tip‭>‬.‭ ‬With an old code base‭ (‬kokua branch‭) ‬going to‭ 	‬the front of a new code base‭ (‬kokua‭ ‬3.3.0,‭ ‬default‭) ‬there will likely be conflicts.‭ ‬At conflict graft‭ 	‬will drop into a‭ ‬3‭ ‬part merge program like kdiff3.‭ ‬Resolve conflicts,‭ ‬save and then type hg graft‭ 	‬--continue.‭ ‬hg graft will then move to the next conflict or be complete and write a new change‭ 	‬set(s‭) ‬at‭ <‬tip‭> ‬of default.‭

Compile,‎ ‏link and test the new default:

‎		‏hg commit any new work needed to complete the graft/merge.‭

Push the new change set(s‎) ‏to kokua-push. ‎				hg outgoing‭ ‬ and the newly change set(s‭) ‬should be listed or graphically noted if using a‭ 	‬graphical‭  ‬ui such as tortoiseHg.

‎		‏hg push‭ ‬-r XXXXX‭ ‬-r XXXXX‭ ‬../kokua-push This pushes the change set(s‭) ‬into the‭ 	‬non-branch local repository.

Now to‭ ‬push into your bitbucket fork.

‎	‏hg push‭ ‬ https://username:password@bitbucket.org/myaccount/kokua

Log in to your bitbucket account and select the kokua fork you have just now pushed to.

Select pull request and describe the pull content and send the pull request.‭ ‬At this point you are done and can move on the the next bug/feature.‭ ‬The pull request will be reviewed by the kokua project team an either accepted into the main kokua project repository.‭ ‬Or,‭ ‬not accepted for a valid reason and then communication back to you for additional work.‭