On Sun, Dec 15, 2024 at 08:33:13AM -0800, Bakul Shah wrote:
Purely as a thought experiment & with the benefit
of hindsight:
What would you do differently if you were to reimplement bk?
What were some things you wanted to do but didn't get around to?
Include any blue sky ideas! Include any simplifying ideas!
I'd finish nested repositories. We got them mostly right but we never
finished support for renaming a sub repository (what git calls submodules).
By "right" I mean you couldn't really tell the difference between a
single giant repository and a nested collection of repositories.
I'd try to come up with some sort of named branches support. We had
a design but never got to it. It's pretty limiting in BK that the
only way to have branches is in a bunch of clones. If your repo is
big enough, the time/space to rebuild things can get to be too much.
As part of the named branches work, we came up with a model that would
let you have a DAG but have straight line history as the visible part,
you can increase verbosity to get back to the full DAG if you want.
The idea was to have "integration trees" where the straight line
history is the tip of each push. Lots of people use git rebase to
get straight line history and I hate it. You lose lots of useful
information but apparently I'm the only guy who cares.
Given that there are newer than git efforts like
jujitsu and pijul
etc., git won't be the last word. Though it hasn't reached the VHS
stage of obsolescence!
The problem is they are still using git under the covers. That's just
a painful step backwards in my mind.
--
---
Larry McVoy Retired to fishing
http://www.mcvoy.com/lm/boat