On Fri, Sep 11, 2015 at 3:32 PM, Lakmal Warusawithana <lak...@wso2.com> wrote:
> > > On Fri, Sep 11, 2015 at 2:02 PM, Akila Ravihansa Perera < > raviha...@wso2.com> wrote: > >> Hi all, >> >> Thanks for the feedback! >> >> I've created a Gdoc with what we discussed [1]. I'd like to propose that >> all committers create PRs for major features they are doing and some other >> committer review and merge them. But small bug fixes and minor features can >> be merged directly. wdyt? >> >> @Lakmal: Let's create the Wiki page based on this Gdoc once we finalize >> this. Shall we include this Wiki page when we send the welcome email to new >> committers and ask them to acknowledge once they have read and understood >> it? >> >> > +1 > +1 I also want to make sure that we properly format code. I sent a mail to dev@ about that earlier, but we couldn't get that to wiki. I can send the updated Eclipse Formatter profile. > > >> [1] >> https://docs.google.com/document/d/1Q-_NItAGTKArnumEMmW5GWBoPieRC5d89RI7hyxQW4o/edit?usp=sharing >> >> Thanks. >> >> On Fri, Sep 11, 2015 at 1:07 PM, Sajith Kariyawasam <saj...@wso2.com> >> wrote: >> >>> Great tips Akila! >>> >>> I would like to include 'running sonar' before committing the code. >>> >>> +1 for adding these to wiki. >>> >>> On Fri, Sep 11, 2015 at 12:37 PM, Isuru Perera <is...@apache.org> wrote: >>> >>>> Hi Akila, >>>> >>>> These are good tips! I have seen many build unstable mails recently (I >>>> didn't go through each of those). It's always better to avoid build breaks. >>>> >>>> +1 for adding these tips to wiki. >>>> >>>> Thanks! >>>> >>>> Best Regards, >>>> >>>> On Fri, Sep 11, 2015 at 10:46 AM, Lakmal Warusawithana <lak...@wso2.com >>>> > wrote: >>>> >>>>> Hi Akila, >>>>> >>>>> Shall we add these into our wiki? >>>>> >>>>> thanks >>>>> >>>>> On Fri, Sep 11, 2015 at 2:59 AM, Akila Ravihansa Perera < >>>>> raviha...@wso2.com> wrote: >>>>> >>>>>> Hi Devs, >>>>>> >>>>>> Thought of sharing this since we have some new committers. These are >>>>>> some guidelines that I think we can adopt in Stratos project. This is >>>>>> only >>>>>> my personal view, and open to discussion :) >>>>>> >>>>>> 1. Always create a branch in your fork when developing a feature or >>>>>> fixing a bug. We tend to forget this or even deliberately ignore it >>>>>> because >>>>>> we might think that the fix being done is not worth it. But Git was made >>>>>> for branching and merging is very cheap. This will avoid many merge >>>>>> conflicts. Once you are done-done with your task, merge it back to >>>>>> master. >>>>>> >>>>>> 2. Know when to use Git rebasing and merging >>>>>> If you continuously rebase your commits, then the chronological order >>>>>> of commits will be lost. Meaning that it is very hard to trace a bug by >>>>>> going through Git history. If you want to know why then read this great >>>>>> article [1]. >>>>>> >>>>>> On the other hand if you continue to use Git merging for even simple >>>>>> changes, then it will clutter the Git history with lots of ugly merge >>>>>> commits. Always keep an eye on commit log [2] and try to keep it clean. >>>>>> This is another good article about rebasing vs merging [3]. >>>>>> >>>>>> 3. Incomplete features on the Master Branch >>>>>> Master branch is not your playground :) Only well tested and complete >>>>>> features should be merged to master branch. You can continue to work on >>>>>> new >>>>>> features in your own branch of your personal fork. If someone needs to >>>>>> try >>>>>> out the latest feature that you are working on then he/she can "pull" >>>>>> from >>>>>> your "personal" fork, not from our main repo. I don't see any reason why >>>>>> we >>>>>> should maintain separate branches for new features. If multiple people >>>>>> are >>>>>> working on a new feature then those people can pull/push from/to each >>>>>> others' personal forks. Once everything is done-done, that can be merged >>>>>> back to master. >>>>>> >>>>>> 4. No broken builds on the master branch, ever >>>>>> Please make sure you run a complete maven build "with tests" before >>>>>> you push major changes to upstream repo. Yes it takes time and resources >>>>>> but build breaks can negatively affect everyone. If you break the build, >>>>>> others won't be able to continue with their work and in most cases only >>>>>> you >>>>>> would know where/how to debug and properly fix it. Mistakes can happen, >>>>>> but >>>>>> if you happen to build the break please fix it ASAP or temporary revert >>>>>> the >>>>>> commit until it is resolved. >>>>>> >>>>>> Tip: keep a separate VM on the cloud to run complete builds against >>>>>> your personal branches. There are lots of free cloud offering these days. >>>>>> >>>>>> 5. All new features or major changes should be tracked in JIRA >>>>>> Please put adequate information when you create JIRAs. Also put the >>>>>> commit ID, fix version(s) in the JIRA when you resolve them. >>>>>> >>>>>> >>>>>> [1] >>>>>> http://geekblog.oneandoneis2.org/index.php/2013/04/30/please-stay-away-from-rebase >>>>>> [2] https://github.com/apache/stratos/commits/stratos-4.1.x >>>>>> [3] >>>>>> https://www.atlassian.com/git/articles/git-team-workflows-merge-or-rebase/ >>>>>> >>>>>> Please share your thoughts. >>>>>> >>>>>> Thanks. >>>>>> -- >>>>>> Akila Ravihansa Perera >>>>>> WSO2 Inc.; http://wso2.com/ >>>>>> >>>>>> Blog: http://ravihansa3000.blogspot.com >>>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Lakmal Warusawithana >>>>> Vice President, Apache Stratos >>>>> Director - Cloud Architecture; WSO2 Inc. >>>>> Mobile : +94714289692 >>>>> Blog : http://lakmalsview.blogspot.com/ >>>>> >>>>> >>>> >>>> >>>> -- >>>> Isuru Perera >>>> Associate Technical Lead | WSO2, Inc. | http://wso2.com/ >>>> Lean . Enterprise . Middleware >>>> >>>> about.me/chrishantha >>>> >>> >>> >>> >>> -- >>> Sajith Kariyawasam >>> *Committer and PMC member, Apache Stratos, * >>> *WSO2 Inc.; http://wso2.com <http://wso2.com>* >>> *Mobile: 0772269575 <0772269575>* >>> >> >> >> >> -- >> Akila Ravihansa Perera >> WSO2 Inc.; http://wso2.com/ >> >> Blog: http://ravihansa3000.blogspot.com >> > > > > -- > Lakmal Warusawithana > Vice President, Apache Stratos > Director - Cloud Architecture; WSO2 Inc. > Mobile : +94714289692 > Blog : http://lakmalsview.blogspot.com/ > > -- Isuru Perera Associate Technical Lead | WSO2, Inc. | http://wso2.com/ Lean . Enterprise . Middleware about.me/chrishantha