On Sun, Nov 15, 2015 at 12:40 AM Bardur Arantsson <spam@scientician.net> wrote:
I tend to find that people who want to preserve what happened have a
different way of working where they tend to try to create good commits
as they go whereas I (post-git) just create a bunch of "WIP" commits
for almost every change regardless of whether it compiles or not and
then clean up the "history" for readability once the full change is
ready for pushing to the world. I used to be in the former group, but
have found that moving to the in the latter workflow is incredibly
liberating. It means that I don't waste nearly as much time checking
that everything compiles (etc.) for every little change I make. I just
check all that stuff for the final series of commits.

Well, I want to preserve history but tend to commit whenever it's convenient as well. This started when I moved to perforce - because branches are cheap, so just create them whenever you need one,and make sure what you merge compiles. So I branched whenever I thought a change would take more than a single session - and finished with mercurial, where all work happens on what's essentially a branch anyway, with push as merge.

I agree, it's critical to have a tool that adopts to your workflow, but it's also important that other people don't break your workflow, because like languages the claim of "if you don't like it, just don't use it" is bullshit. So while mercurial has "rebase" so you can use it if you need it, it's disabled by default and flagged as being for expert use, not something that's part of the daily workflow.