Interesting that git and redo share the problem of providing POSIX utilities on Windows. Interesting also that nobody seems to have suggested a merge between the two. If redo is that small, would it not be feasible to package it as git-redo and not solve the same problem twice?
That's because there is nothing about git that requires you to implement it with sh, that was just the way it was written. `redo' has you literally writing shell scripts to describe the construction process, which means you either need sh, or you need to write entirely new scripts for running on Windows
redo has the same problem of git because both are supposed to be used in as a small part of the UNIX environment. In this regard, it is not different from make.