Comment by WorldMaker
8 days ago
This just sounds to me like "frequent auto-commits" with less trust in git. git can handle frequent auto-commits just fine. If you want to "rollup" frequent auto-commits into "cleaner" top-level commits but also keep all the point-in-time "conversation" of your auto-commits, then `git merge --no-ff` from time to time and use tools like `--first-parent` to focus in on "top-level" commits over "conversation" commits.
The git backend already has a ton of "delta DB optimizations" (in git packs and other tools) and it's really just the git frontend that needs a little massaging (`--first-parent`, primarily) and the vast world of "subway-diagram-first/only" Git UIs that should have more "drill down" `--first-parent` counterparts simply because so many people find the subway diagrams ugly/confusing/distasteful.
This is what what I do. I never see the commits from branches but they are there if I need them. Even git blame can be setup to use --first-parent
git bisect also works great with --first-parent. It will never stop surprising me how many people see the two-dimensional DAG of git as a bug to be avoided rather than a very useful feature (and then spend time reinventing things that git could do natively if they just used the second dimension of the git graph a bit more intentionally).