Hey!

As many of you asked for, we've finally made the repository public and will continue developing it in public from now on.

This took us some time, but you can now read our announcement for more details[0].

Thanks everybody for the support so far, and I welcome you all to interact with the repo, join the discussion, or even contribute.

A possibly noteworthy detail as it's been discussed on HN here a bunch, we've settled with the DCO[1] for contributions.

Also, happy to answer any questions!

[0]: https://opentf.org/fork

[1]: https://developercertificate.org

Disclaimer: Work at Spacelift, and currently temporary Technical Lead of the OpenTF Project, until it's committee-steered.

As technical lead for the OpenTF project, how does things like this get merged?

https://github.com/opentffoundation/opentf/pull/36/commits

Even though you're being downvoted I do agree that this should've been squashed (I don't see any other problems here, if that's not it).

I've made sure via repo config that only squash commits are enabled from now on, so this will not happen again. Thanks for the feedback!

I'm sorry, but making only "squash commits" is also a bad idea. You can have a MR with multiple independent, atomic, commits.

The "real" solution is making the developers aware of the issue and cleanup up their history before doing an MR.

Absolutely this. A series of commits dealing with different aspects (e.g. whitespace fix, minor related bug fix, necessary refactor, then the feature) is ideal.

For a start, it's easy to review, and easier to disect if something breaks.

When messy git history is provided (i.e. a history of the developer fixing their own code that they missed), squashing can be a reasonable fallback. But it's never the best option, IMHO.

I've found `git commit --fixup` and `git rebase --autosquash` to be very useful when accumulating fixes of previous commits.
git-absorb is nice too
Nice, no need to look up past commits ! Didn't know about this, I had to look it up.

It's a separate project from git [0].

[0]: https://github.com/tummychow/git-absorb