Keep making cool stuff. Loved your little lisp project!
It's pretty awesome of you to provide the annotated source code for Gitlet! :D
I can't seem to find the rebase code? I've always wondered how that part works. Great work otherwise! I've already taken a look at the three way merger code.
In a nutshell, it checks out the target and cherry-picks what had been HEAD onto it, beginning at the merge-base.