*Hi Folks,*

We have prepared the following workflow for Mnemonic code contribution,
please feel free to comment on it, Thanks.

==========================================

*1) Configure git tool if behind a firewall. (One time setup)*

https://gist.github.com/evantoli/f8c23a37eb3558ab8765


*2) Fork the following Mnemonic project to your own Github account if not
yet. (One time setup)*

https://github.com/apache/mnemonic

Please refer to the following web page for project forking

https://docs.github.com/en/free-pro-team@latest/github/getting-started-with-github/fork-a-repo


*3) Clone the forked Mnemonic project from your own Github account. (One
time setup)*

https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/cloning-a-repository

$ git clone [email protected]:[your account id]/mnemonic.git


*4) Configure a remote upstream from Github for upstream sync. (One time
setup)*

https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/configuring-a-remote-for-a-fork

$ git remote add upstream https://github.com/apache/mnemonic.git


*5) Setting your commit email address and name for local Mnemonic repo.
(One time setup)*

https://docs.github.com/en/free-pro-team@latest/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address

$ cd mnemonic

$ git config user.email "[your apache id]@ <[email protected]>apache.org"

$ git config user.name "[your name]"


*6) Sync your forked Mnemonic project from upstream (On demand)*

https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/syncing-a-fork

$ git fetch upstream

$ git checkout master

$ git merge upstream/master

Please keep the master branch untouched, otherwise it cannot keep it
exactly synced.

$ git push


*7) Take over an interested issue/task by clicking the “Start Progress”
button in the Apache issue web portal*
Project issue portal: https://issues.apache.org/jira/projects/MNEMONIC/

e.g. https://issues.apache.org/jira/browse/MNEMONIC-548


*8) Create a new branch for your selected issue/task*

Please do step “Sync your forked Mnemonic project from upstream” first.

$ git checkout master

$ git checkout -b issue-[issue id]

e.g. $ git checkout -b issue-548


*9) Apply patch files if any (On demand)*

$ git apply [patch file]


*10) Fix/implement the selected issue/task on the specific branch*

Please ensure you are working on the create branch, e.g. issue-548, using
the following command to confirm it

$ git status


*11) Stage your new code or code changes before stopping work on it (On
demand)*

$ git add [your changed/new files]


*12) Rebase your local works from upstream if it takes a long time. (On
demand)*

Please do step “Sync your forked Mnemonic project from upstream” first.

$ git rebase upstream/master

if any conflict occurred, please refer to the following way to resolve it.

https://docs.github.com/en/free-pro-team@latest/github/using-git/resolving-merge-conflicts-after-a-git-rebase


*13) Commit your bugfix or feature code once the issue/task got addressed*

Stage all your changed/new files first, please refer to the following step

“Stage your new code or code changes before stopping work on it”

$ git commit -s -m “MNEMONIC-[issue id]”

e.g. $ git commit -s -m “MNEMONIC-548”


*14) Verify your code changes again*

$ git diff HEAD^..


*15) Push your new branch and commit to your own github repo.*

$ git push -u origin


*16) Submit a PR*

https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request

Visit the Mnemonic repo. in your own Github account, you can see a message
about the new/changed branch, you can submit the PR via click the link in
the message.


*17) Once PR got submitted, Please click “Resolve Issue” button in Apache
issue web portal*

https://confluence.atlassian.com/adminjiraserver/working-with-workflows-938847362.html


*18) Normally, wait for 2-5 calendar days for reviewers to take comments on
the PR.*


*19) Address all comments as possible.*


*20) Once the PR got verified by reviewers, Please click “Close Issue”
button in Apache issue web portal*

====================


*Best Regards*

Gary

On behalf of Mnemonic community

Reply via email to