Hi Tim, On Fri, Jun 15, 2018 at 10:31 AM Tim Mackinnon <tim@testit.works> wrote:
In many parts of the dev world - every commit should be shippable, meaning atomic - particularly with the use of CI systems (Travis, Gitlab etc) that build on every commit.
Of course you can choose to work a different way - but our tools shouldnât force a very common practice to be awkward, should they?
I donât understand why many of you guys are so anti such a common thing. In fact our community pioneered this way of working - a build machine where you loaded all your code and ran all your tests before committing. Also, a large number of agile teams will council to work on master (and avoid branches - a technique we also pioneered). In todayâs world where we live in a wider polyglot stack this is one of the reasons why git is so attractive as it should easily embraces that.
I get that itâs not quite possible yet - but there are some decent ways to accommodate this (a staging operation, or perhaps a better way to make use of the #addToIndex: which I will experiment with).
Anyway, Iâll shut up - and possibly will learn how to implement it myself. Thinking more, I may also be able run with commit and no push , which I will try - as itâs probably the easiest mechanism if the CI will recognise that (I think it will).
Please don't shut up ^^. I really value the feedback. I see myself the value of both small and atomic/self-contained/complete commits. In general what happens is that we are few modifying iceberg. But on the other side we really had given a thought to many of these topics, and many decisions had a reason (even if it is that it is not implemented because it would be too much work :)). I try to explain them as better as I can, I can probably do better :)