snaptoken / leg

Tools for making step-by-step code walkthroughs
MIT License
130 stars 2 forks source link

Create or reuse proper patch-list tools instead of depending on git/rebase #32

Open paigeruten opened 6 years ago

paigeruten commented 6 years ago

Git is too slow for modifying long chains of commits, because it has to rewrite the commits from scratch every time you rebase, for purposes of integrity (which we don't really need). It also has a lot of weird behaviour we have to work around, which just comes from how we're using git for a purpose that it is not intended/optimized for.

Git is nice because it's ubiquitous and it readily solves the main challenging problem of managing a patch list: auto-resolving conflicts that arise from modifying a patch in the middle of the list, and helping you resolve conflicts manually. How it does this exactly is still magic to me mostly, so I'm not sure how hard it would be to write a tool from scratch that is able to do this (and as well as git does it).

I'm also not sure of what tools/libraries are out there that we could use for this. Here are some links to projects that may be of some help: