> On Apr 18, 2024, at 1:41 PM, Dan Cross wrote: > > Git and Jujitsu are, frankly, superior. Aha, I had never heard of Jujutsu until now; you mean https://martinvonz.github.io/jj/ right? Monitoring file changes and treating changes to the working copy as an implicit work-in-progress commit sounds like a good idea, good for filesystem-integrated revision control. In my usual markdown editor that I use for notes (https://github.com/ec1oud/nettebook) I’m planning to add UI for making git commits. I suppose prompting for a customized commit message would still be a good idea, but otherwise getting commits automatically without needing to add that as an application feature or remembering to do it on the command line might be a good feature. Interesting that it's Rust. Just another reason to eventually have Rust on Plan 9… For prose purposes (especially auto-wrapped Markdown) it bothers me that git diff mainly does line diffs. So I’ve been trying to find an efficient algorithm for word diffs. (Yes there is git diff --word-diff, but for an application to show this graphically, I’m not a big fan of running a separate process for it. And the output needs parsing anyway.) It seems a common technique is the facepalm one: turn every space into a newline and then do line diffs. But there’s another old Bell project: https://github.com/HaikuArchives/Spiff.git It’s kindof ugly code and with lots of comments about how inefficient it is, but at least it starts by tokenizing and then working with word lists in memory instead of character substitution. So I’m working on a fork to try to turn it into a library (will see if that’s worthwhile or just leads to a sufficient understanding of the algorithm that I’d rather start over). But this could also be the sort of thing Jujutsu could improve upon, I suppose. ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tab2715b0e6f3e0a5-M3ce44eda7af52e08323343b1 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription