Re: [git-for-windows] [ANNOUNCE] Git for Windows 2.14.0

2017-08-07 Thread Johannes Schindelin
Hi Hannes,

On Mon, 7 Aug 2017, Johannes Sixt wrote:

> Am 07.08.2017 um 12:02 schrieb Johannes Schindelin:
> > On Sun, 6 Aug 2017, Johannes Sixt wrote:
> > > Am 06.08.2017 um 01:00 schrieb Johannes Schindelin:
> > > > * 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
> >
> > MinGit](https://github.com/git-for-windows/git/wiki/MinGit#experimental-busybox-based-mingit).
> 
> Thanks for the clue. It's an interesting concept. I would be interested in
> replacing my old MSYS environment by BusyBox. At best, it would be just a
> matter of replacing sh.exe.

OpenSSH and GPG are also required for Git for Windows to function well.
You may not need them, but others do. Also, you may be content with
running the shell in your Windows Console, but most users use MinTTY (and
would have used rxvt if we ever had gotten that to work).

Given your circumstances, I would estimate that you could already use
a BusyBox-based system. You have been traditionally very comfortable with
running your own setup, and putting it together yourself, so you could
cherry-pick the bits and pieces.

The only exception may be `vi`. While BusyBox comes with a `vi` applet, I
disabled it because it does not work in MinTTY, and it also offers a far
cry from the vim.exe functionality I am used to. So you may want to revert
https://github.com/git-for-windows/busybox-w32/commit/4dccf1500f4 and
rebuild BusyBox-w32 yourself.

Ciao,
Dscho


Re: [git-for-windows] [ANNOUNCE] Git for Windows 2.14.0

2017-08-07 Thread Johannes Sixt

Am 07.08.2017 um 12:02 schrieb Johannes Schindelin:

On Sun, 6 Aug 2017, Johannes Sixt wrote:

Am 06.08.2017 um 01:00 schrieb Johannes Schindelin:

* 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
   
MinGit](https://github.com/git-for-windows/git/wiki/MinGit#experimental-busybox-based-mingit).


Thanks for the clue. It's an interesting concept. I would be interested 
in replacing my old MSYS environment by BusyBox. At best, it would be 
just a matter of replacing sh.exe.


-- Hannes


Re: [git-for-windows] [ANNOUNCE] Git for Windows 2.14.0

2017-08-07 Thread Johannes Schindelin
Hi Hannes,

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
  
MinGit](https://github.com/git-for-windows/git/wiki/MinGit#experimental-busybox-based-mingit).

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 *lots* 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!").

Ciao,
Dscho


Re: [git-for-windows] [ANNOUNCE] Git for Windows 2.14.0

2017-08-07 Thread Konstantin Khomoutov
On Sun, Aug 06, 2017 at 01:16:46PM +0200, Lars Schneider wrote:

[...]
> >  * It is now possible to switch between Secure Channel and OpenSSL for
> >Git's HTTPS transport by setting the http.sslBackend config
> >variable to "openssl" or "schannel"; This is now also the method
> >used by the installer (rather than copying libcurl-4.dll files
> >around).
> 
> Does anyone have a pros/cons list for this option? AFAIK OpenSSL is still
> the default in the GfW installer and I wonder why. My gut feeling would be to 
> go with the SSL implementation shipped with the OS. However, I don't have 
> enough 
> knowledge of either implementation to make an assessment.

One fact which immediately comes to mind is that both frameworks use
different sets of certificates (schannel uses the system's one, and
OpenSSL uses what gets shipped with it).  Another fact is that they
might have different sets or protocols implemented and/or enabled by
default.  Hence switching schannel on for people who used OpenSSL might
break things for them.



Re: [git-for-windows] [ANNOUNCE] Git for Windows 2.14.0

2017-08-06 Thread Lars Schneider

> On 06 Aug 2017, at 01:00, Johannes Schindelin <johannes.schinde...@gmx.de> 
> wrote:
> 
> Dear Git users,
> 
> It is my pleasure to announce that Git for Windows 2.14.0 is available from:

Thank you :-)


>  * It is now possible to switch between Secure Channel and OpenSSL for
>Git's HTTPS transport by setting the http.sslBackend config
>variable to "openssl" or "schannel"; This is now also the method
>used by the installer (rather than copying libcurl-4.dll files
>around).

Does anyone have a pros/cons list for this option? AFAIK OpenSSL is still
the default in the GfW installer and I wonder why. My gut feeling would be to 
go with the SSL implementation shipped with the OS. However, I don't have 
enough 
knowledge of either implementation to make an assessment.

On macOS Git uses the Apple Security Framework instead of OpenSSL by default.

- Lars



Re: [git-for-windows] [ANNOUNCE] Git for Windows 2.14.0

2017-08-06 Thread Johannes Sixt

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?


-- Hannes