I've been playing with a few small algorithms to store file versions. The general idea is to somehow track where each line in a file come from so that merges (hopefully) don't need to rely on 3-way merge. Not sure if I'll get what I want, not sure how it fares ergonomically against the usual git approach, but it's been REALLY fun
current goal is to detect changes in a file and create append-only diffs that may or may not depend on other diffs, because I really don't want to mutate history, only add to it if at all possible.
I imagine this is how it works for pijul, but the inspiration also comes from the weave format that bitkeeper uses and I learned about a few weeks ago
what I'm trying to do (in a super, super small scale, a single python file) is to have something that stores version files, each version listing the diffs it needs and in which order to constitute the whole thing
it helps a lot visualizing the relationship between lines and contributions (who made what and when) as a tree, but I'm still not sure how advantageous it is for the final user to compensate for the complexity
Bear.community is a 18+ only Mastodon server for bears, chubbies and chasers.