← Back to context

Comment by o11c

7 months ago

To expand the illustration:

* using out-of-source builds is a good idea

* using fully automatic dependencies is a good idea

* never committing generated files is a good idea (avoid hysteresis)

It is fundamentally very difficult to get all three of these at once; automatic dependencies often require generating files ahead of time, but generating files often involves needing to know the dependencies or at least their paths ahead of time.

These days the trend seems to be to commit "generated-in-place" files, which avoids some of the historical problems with the last (at the cost of introducing others). I don't claim this is optimal.