[infinispan-dev] To squash or not to squash
Dennis Reed
dereed at redhat.com
Sun Sep 8 23:59:51 EDT 2013
I think this has the biggest effect on those of us porting fixes to
other versions.
When porting changes, I've seen issues with both single commits and
multiple commits:
1) When doing one commit, it's too tempting to bring in unrelated
changes, such as unrelated formatting changes.
This has actually been a big pain for me a number of times in JBoss
Cache/Infinispan.
Being strict about 1 commit = one logical change, and nothing
unrelated would help a lot with this.
One large commit is also harder to cherry-pick when a change affects
code that did not change much between versions, as well as code that did.
2) If the commit messages don't make it clear that multiple commits are
related to fixing the same issue, some important changes may be missed.
Making sure it's clear from the commit messages that they're all
related to ISPN-XXX mitigates this.
My vote is (2), as long as the commit messages make it clear the changes
are related.
-Dennis
On 09/06/2013 07:50 AM, Manik Surtani wrote:
> My vote is (1). Multiple commits, as you say, may leave the code base unstable and thus not atomic. Further, multiple commits may cancel each other out in places (reverting or fixing code from a previous commit, etc) so squashing will actually make reviewing easier and cleaner.
>
> On 6 Sep 2013, at 13:05, Mircea Markus <mmarkus at redhat.com> wrote:
>
>> When issuing pull requests people split the added functionality corresponding to a single JIRA issue into multiple logically related commits. (If they don't they should as this makes reviewer's life much easier).
>> Do you think these commits should be squashed into a single commit before integrating (1) or should be integrated as such (2)?
>> Note that for (2), especially for very large features, internediate commits might not compile/pass the suite.
>>
>> My preference is for (2) as this way the history reflects the flow of developement and makes history easier to read.
>>
>> Cheers,
>> Mircea
>> _______________________________________________
>> infinispan-dev mailing list
>> infinispan-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/infinispan-dev
> --
> Manik Surtani
>
>
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
More information about the infinispan-dev
mailing list