On 24 Oct 2013, at 20:51, Ken Hornstein <[email protected]> wrote: >> For anyone who's looking to implement something new, I think that >> git's internal architecture might be a good starting place, written >> in C. In slightly related news, I looked at notmuch recently, and >> it made me miss MH. > > I've heard that before, but I don't see how looking at git helps > anything here.
You're probably right; you're a lot more familiar with the code and the needs of MH+IMAP than I am. > If the issue is about conflict resolution, git's > ultimate answer when things get complicated is "punt it to a human", > just like every other revision control system out there. I don't think > we want that when dealing with a set of mailbox changes (in my view, > git's magic is how it manages sets of changes). Hashing of the message contents really helps make git not rely as much on the semantics of file names, and this is where I thought that git's approach might be most interesting. Beyond that, email messages are generally large (compared to calendar entries, anyway) collections of text. Changes to messages mostly involve small deltas to metadata. Managing changes to changes to changes based on revisions and times isn’t trivial, but a lot of the automation (conceptually) has already been written. Compared to this, notmuch 'just' indexes everything as fast as it can, and then relies on heuristics and a human to know when to manually invalidate the database. Hope that helps, ~Chad _______________________________________________ Nmh-workers mailing list [email protected] https://lists.nongnu.org/mailman/listinfo/nmh-workers
