Github user hmcl commented on the issue:

    https://github.com/apache/storm/pull/2512
  
    @erikdw @srdo Thanks for checking in with me. I was off for the last few 
days and hence just getting back into this, although a bit too late because the 
patch just got merged before I got the chance to respond. 
    
    @erikdw the fundamental reason behind squashing all the commits is sanity. 
The main challenge when the branches diverge is to track down what happened. 
The same happens when cherry-picking changes across branches. In Storm this is 
very hard because Storm's Git log does not have a well​ defined structure, 
does not have one commit per JIRA, and contributors don't always squash their 
commits. As an illustration I am adding a the output of "git log" for Storm, 
Kafka, Spark, Hbase, Flink, and Apex. The difference is notorious. Every other 
project has a clean, consistent, Git log, which makes it very easy to 
understand and track down what happened. Furthermore, it makes it also very 
easy to write git hooks to automate all sorts of tasks to merge and track down 
what happens cross branches, for example, helping users that have their own 
private distribution which gets synced with Apache from time to time (I face 
such tasks periodically and understand how much easier it would be if had 
 a clean git log).
    
    One could argue one way or another. However, a fact is that all of the 
aforementioned mainstream Apache projects follow one commit per JIRA (with the 
exception of having perhaps a consistent token such as MINOR), and commits 
always squashed. In my opinion we should do so as well with absolutely no 
exceptions. The extra effort to do this is minimal, and the benefits are 
immense. I have proposed this a few times before, but for some reason it has 
never been agreed upon or even warranted a lengthy discussion (which honestly 
is hard for me to understand why).
    
    
![image](https://user-images.githubusercontent.com/10284328/34959386-299e7800-f9eb-11e7-99a5-9b18022e6665.png)



---

Reply via email to