"Johannes Schindelin via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes: > Especially on Windows, where Unix shell scripting is a foreign endeavor, and > an expensive one at that, we really want to avoid running through the Bash. > > This not only makes everything faster, but also more robust, as the Bash we > use on Windows relies on a derivative of the Cygwin runtime, which in turn > has to jump through a couple of hoops that are sometimes a little too tricky > to make things work. Read: the less we rely on Unix shell scripting, the > more likely Windows users will be able to enjoy our software. > > Changes since v1: > > * Rebased on top of master to avoid merge conflicts. I do not appreciate this very much. We already have a good resolution prepared when merging this to either 'next' or 'master', which also resolves conflict with the other topic that requires this topic to add "--topo-order" in its call. Rebasing series means invalidating the previous work recorded in rerere. side note. The rerere database entry can be recovered from master..pu with contrib/rerere-train.sh). > * Adjusted the commit message talking about double entries, to clarify that > it talks about HEAD's reflog. Good. > * Replaced a misleading action parameter "checkout" for the reset_head() > function by the empty string: we do not check out here, we just update > the refs, and certainly do not want any checkout functionality (such as > hooks) to be involved. OK. > * Reused a just-prepared refs_only variable instead of repeating the value > assigned to it. OK. > * Fixed a stale comment about the shell variable "$upstream" (which should > have been negated to begin with). > * Fixed error messages when files could not be opened. Good. Will take a look. Thanks.