Took a look. A quick impression.
* Too many whitespace breakages in borrowed compat/regex.[ch] are very
distracting.
* It is a very nice touch to rename sample templates to make sure they
are not executable (after all they are just samples).
* Shouldn't my_mktime() if exported out of date.c be named a bit better?
* The ifdef block in git.c::main() introduces decl-after-stmt which we
tend to avoid, but it is much worse to solve it by adding another ifdef
block just to enclose decl of char *bslash at the beginning of the
function. Perhaps enclose it in an extra block?
* In sanitary_path_copy(), you left "break;" after /* (1) */ but now that
"break" is not inside a switch() anymore, so you are breaking out of
something else, aren't you? -- Ah, the clean-up phase will be no-op in
that case because src points at '\0'. Tricky but looks correct ;-)
* There seem to be an unrelated general fix in upload-pack.c
* There are still too many ifdefs. I am wondering if the changes to
pager and process stuff is easier to manage in the longer term if they
are made into completely separate files (i.e. instead of linking
pager.o you would link mingw-pager.o). I dunno.
* There is an interaction with dr/ceiling topic that is already in 'next'
that needs to be resolved before we merge this in 'next'.
Parked in 'pu' for now but with a broken merge resolution.