Skip to content

Contributing Guidelines

Tan Jun Rong edited this page Aug 15, 2016 · 6 revisions

Thank you!

First of all thanks for your interest in contributing!

1. Git Message Guide

Prefix your Git message with [Feature], [Bugfix], [Chore], [Doc], [Refactor], [Example]. Here are some explanation:

Directly affect TourGuide library:

  • [Feature]: When a new feature is added to the library
  • [Bugfix]: When a bug is fixed
  • [Refactor]: Clean up unused code / refactoring / add or edit comments.

No direct impact on TourGuide library:

  • [Example]: When an example activity is added to showcase a TourGuide feature.
  • [Chore]: Task that doesn't fall into other category and doesn't involve coding.
  • [Doc]: Improve the documentation or correcting an error in the documentation.
  • [Test]: When test is added/edited.
  • [Tools]: Improve workflow, building script, etc.

Refer to 1.WHY for the reason behind this.

1.WHY Versions, Features, Fixes, It's confusing...

As this project gets more features and bug fixes, I realized that users can get easily confused which version of TourGuide has which features and bug fixes. Maintaining a CHANGELOG is a way to solve this problem, but it's time consuming to write it, and it is error prone while writing a CHANGELOG, e.g. something might be missed out. Thus, I thought of a solution to this. Write a better Git message. This way, users of TourGuide can git clone the repo and get a clear picture of which version has which features/fixes.

Consider this:

    * | 60fce9b - Add tooltip custom layout setters (3 days ago) 
    | * 817c5c7 - Update version number (4 days ago) 
    | * 9d73837 - Add more steps to README_pushing_to_maven.md (4 days ago) 
    | * ebbc38c - (tag: v1.0.11) Increase version number (4 days ago) 
    | * d4fb423 - Add LeakCanary & MemoryLeakTestActivity to test for mem leak; Fixed memory leak due to AnimatorSet's listeners referencing each other (4 days ago) 
    | * 6b4a192 - Update README_pushing_to_maven.md to include more details steps (4 days ago) 
    | *   d0c153b - Merge pull request #5 from MHDante/master (4 days ago) 

It is hard to tell what are the features/fixes are included before v1.0.11.

But if we name it properly:

    * | 60fce9b - [FEATURE] Add tooltip custom layout setters (3 days ago) 
    | * 817c5c7 - [CHORE] Update version number (4 days ago) 
    | * 9d73837 - [DOC] Add more steps to README_pushing_to_maven.md (4 days ago) 
    | * ebbc38c - [CHORE] (tag: v1.0.11) Increase version number (4 days ago) 
    | * d4fb423 - [BUGFIX] Add LeakCanary & MemoryLeakTestActivity to test for mem leak; Fixed memory leak due to AnimatorSet's listeners referencing each other (4 days ago) 
    | * 6b4a192 - [DOC] Update README_pushing_to_maven.md to include more details steps (4 days ago) 

Users can figure out what has changed in which version.