Versions Compared

Key

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

...

  •  

    Git Pull Request work flow

     1. First of all, contributor needs github account if you don't have one already. 

     2. Then fork the Apache Mnemonic git repository to your account.

     3. Then go to your machine's git shell command prompt and clone your forked repository. Command: git clone <FORKED_REPO.git>. 

         This will have one remote that will be named as origin by default.

     4. Then git remote add original branch as upstream. Command: git remote add upstream <ORIGINAL_REPO.git>. 

         You can update branch like :git fetch upstream/master

         So, now we have 2 remotes(origin, upstream) added. Origin  

         Origin is for forked repository and upstream is for original Mnemonic apache repository. 

     5. Create local branch for your work at forked branch master. Command: git checkout -b <branch-name>. 

      So, here master is default trunk code base branch and <branch-name> is is 

      the working branch on forked repo. Also you need to push this branch to forked repo.

      Let's do git push origin <branch-name>

     6. Make sure you are on <branch-name> for working on your changes. Command: git checkout <branch-name>

        Then do your changes here.

     7. Now you should commit changes to your <branch-name> and push the changes to forked repo.

     8. Once you pushed your commit, create the pull request. To do that, go to the UI and login to your git account.

         Here you should see Create Pull Request option in UI. Just click on it and compare against original repo code base. Copy  

         Copy the pull request link from browser URL bar.

     9. Add this pull request link into the corresponding JIRA issue created.

     10. Once a committer review your pull request, he may +1 on it and merge to original repo. Or he may reject the changes. 

           In rejected case, you may need to generate the pull request again after correcting the comments.

     11. After pull request merged to main repo, you can safely remove this test branch.

     12. Your forked master branch and original repo might differ due to other committer commits on original repo. So, we can keep rebase the forked repo master branch with original repo.

           Command: git rebase upstream/master

     13. For any new issue you wanted to work on you can follow the same steps. You can name your working branch(referred as <branch-name> above) as with your JIRA issue id.

  •  

    Coding guidelines while editing the code

       Rules for Java code:
       1. Standard Java code conventions
       2. We follow 2-space indentation
       3. No TABs are allowed in the code
       4. LF newline
       5. Encode UTF-8
       6. Any new file addition must have Apache License header.
       7. Maximum length of line is 120 characters

      Rules for C/C++ code:
      1. Customized K&R
      2. We follow 2-space indentation
      3. No TABs are allowed in the code
      4. LF newline
      5. Encode UTF-8
      6. Any new file addition must have Apache License header.
      7. Maximum length of line is 120 characters

...