On 2 April 2015 at 22:06, Jason R. Coombs <jar...@jaraco.com> wrote:
> I'm in the other camp.
>
> The way I see it, a squash of history or massive patch file loses history. It 
> loses details about the thought process of the implementer. It masks mistakes 
> and obscures motivations. It also masks decisions made in the merge 
> operation, further hiding potential problems.
>
> On the other hand, a feature repo (or any separate series of commits), while 
> retaining the history as it happened and thus the fidelity of the 
> development, can always be mechanically reduced to a squashed patch (for 
> review or other considerations, and in fact, the Python bug tracker will 
> produce these squashed patches from feature repos automatically even if 
> they're hosted in another system). Rollback is trivially easy; reverting a 
> merge is as easy as reverting a squashed commit. It has the added benefit 
> that any individual commit can be backed out automatically (in a squashed 
> patch, that's not possible).
>
> In other words, it's straightforward and easy to go from the latter model to 
> the former, and generally impossible to reverse the operation.
>
> In my opinion, it boils down to whether the group wants to restrict the 
> options available for review. I would recommend that a contributor provide 
> (or maintain) a feature repo if convenient.

Having a feature repo to *work* on a patch is a great idea, I
interpreted the question as being about what the mainline history
should look like. The latter is where I strongly prefer the "atomic
feature commit" model.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncogh...@gmail.com   |   Brisbane, Australia
_______________________________________________
python-committers mailing list
python-committers@python.org
https://mail.python.org/mailman/listinfo/python-committers

Reply via email to