upvote
I remember working with darcs 20 years ago (pijul should be on that lineage) and cherry picking in that was way better than doing it with git since it meant "get this change and all the required ones" rather than "pick this commit".

It still required intelligence (changes across files may not be tracked as dependent but actually are) but it was a different experience from what git provides.

reply
If you really wanted, you could implement this on top of a snapshot based system by mixing in git blame information (or an algorithm that is similar). It's not hard to compute that text based dependency graph on the fly, though maybe expensive without caching.
reply
Cherry picking is just convenience for something that anyone could do manually. If it didn't exist in the VCS, people would do it anyway and make tools to do it.

Fossil's implementation is the best, since a cherry-picked commit always points back to its origin.

reply