Re: [git-for-windows] [ANNOUNCE] Git for Windows 2.14.0
- Date: Mon, 7 Aug 2017 12:02:10 +0200 (CEST)
- From: Johannes Schindelin <Johannes.Schindelin@xxxxxx>
- Subject: Re: [git-for-windows] [ANNOUNCE] Git for Windows 2.14.0
On Sun, 6 Aug 2017, Johannes Sixt wrote:
> Am 06.08.2017 um 01:00 schrieb Johannes Schindelin:
> > Dear Git users,
> > It is my pleasure to announce that Git for Windows 2.14.0 is available from:
> > https://git-for-windows.github.io/
> > Changes since Git for Windows v2.13.3 (July 13th 2017)
> Thank you so much! One question, though:
> >New Features
> > * Comes with [BusyBox v1.28.0pre.15857.9480dca7c](https://github.com/
> > git-for-windows/busybox-w32/commit/9480dca7c].
> What is the implication of this addition? I guess it is not just for the
> fun of it. Does it mean that all POSIX command line tools invoked by Git
> including a POSIX shell are now routed through busybox instead of the
> MSYS2 variant?
As I wrote a little later:
* Git for Windows releases now also include an experimental [BusyBox-based
And as I described in that Wiki entry, no, Git for Windows does not make
use of BusyBox just yet. Only the experimental version of MinGit.
It would be *awesome*, of course, to benefit from using BusyBox: size,
speed, robustness (reducing the MSYS2 dependency). But we're just not
there yet. What needs to happen before that?
- lots of testing. And I mean *lotsssss* of testing. BusyBox is by far
less tried and tested than Bash, and BusyBox-w32 is *even less* tried
and tested. And BusyBox-w32 *with my patches* is tried and tested only a
little, and only by me. Before I risk getting bug reports about a
BusyBox-based Git for Windows, I want to be a lot more certain that
it is basically solid.
- BusyBox-w32' interactive functionality expects a Win32 Console. In Git
Bash, we only have MSYS2's pseudo terminal, no Win32 Console. If we ever
want to be able to execute Git's scripts via BusyBox-w32, it *needs* to
learn about MSYS2 ptys, at least to emulate isatty() accordingly (we
have code in Git for Windows itself to do that, of course, it's no witch
craft, but... yet another thing to do).
- judging by the number of bugs on Git for Windows' bug tracker, there
*are* some users out there installing their own hooks and aliases, and a
really tiny fraction of those users seems to be really happy to have a
full suite of GNU utilities available. BusyBox, however, does not
support that full functionality. Therefore, switching to BusyBox would
possibly break those setups.
Mind you, I really want to get there. And I think we will be able to get
there. By inviting testing (the BusyBox-based MinGit is a very good start,
for example). By adding an experimental option to Git for Windows'
installer to switch to BusyBox. By announcing in Git for Windows' release
notes that this will become the default at some stage ("please test your
aliases and hooks!").