[ANNOUNCE] Git for Windows 2.24.0

101 views
Skip to first unread message

Johannes Schindelin

unread,
Nov 4, 2019, 5:36:43 PM11/4/19
to git-for...@googlegroups.com, g...@vger.kernel.org, git-pa...@googlegroups.com
Dear Git users,

It is my pleasure to announce that Git for Windows 2.24.0 is available from:

https://gitforwindows.org/

Changes since Git for Windows v2.23.0 (August 17th 2019)

Note! As a consequence of making git config --system work as expected,
the location of the system config is now C:\Program Files\Git\etc\
gitconfig (no longer split between C:\Program Files\Git\mingw64\etc\
gitconfig and C: \ProgramData\Git\config), and likewise the location of
the system gitattributes is now C:\Program Files\Git\etc\gitattributes
(no longer C:\Program Files\Git\mingw64\etc\gitattributes). Any manual
modifications to C:\Progr amData\Git\config need to be ported manually.

New Features

* Comes with Git v2.24.0.
* Comes with cURL v7.66.0.
* Comes with Git Credential Manager v1.20.0.
* Comes with OpenSSH v8.1p1.
* Comes with OpenSSL v1.1.1d.
* Comes with Git LFS v2.9.0.

Bug Fixes

* The shell construct <(<command>), which was broken in v2.23.0 (/dev
/fd/<n>: no such file or directory), was fixed.
* The default config no longer skips git-lfs downloads.
* Starting with cURL v7.66.0, $HOME/.netrc can be used instead of
$HOME/_netrc (but it will still fall back to looking for the
latter).
* The installer's "ProductVersion" is now consistent with older Git
for Windows versions'.
* Makes git config --system work like you think it should.
* The (still experimental) built-in git add -p no longer gets
confused about incomplete lines (i.e. a file's l last line that
does not end in a Line Feed).
* A buffer overrun in the code to determine which files need to be
marked as hidden was plugged.
* The support for sendpack.sideband that was removed by mistake was
re-introduced, to support git push via the git:// protocol again.
* git stash no longer records skip-worktree files as deleted after
resolving merge conflicts in them.
* The Git for Windows installer no longer complains about a downgrade
when upgrading from an -rc version, i.e. from a pre-release leading
up to the next major version.

Ciao,
Johannes

Gregory Shields

unread,
Jul 11, 2020, 7:09:08 PM7/11/20
to git-for-windows
Hello, Johannes.

I'm a bit late to this party, but in looking at this...


On Monday, November 4, 2019 at 4:36:43 PM UTC-6, Johannes Schindelin wrote:
Changes since Git for Windows v2.23.0 (August 17th 2019)

Note! As a consequence of making git config --system work as expected,
the location of the system config is now C:\Program Files\Git\etc\
gitconfig (no longer split between C:\Program Files\Git\mingw64\etc\
gitconfig and C: \ProgramData\Git\config), and likewise the location of
the system gitattributes is now C:\Program Files\Git\etc\gitattributes
(no longer C:\Program Files\Git\mingw64\etc\gitattributes). Any manual
modifications to C:\Progr amData\Git\config need to be ported manually.

 ...it seems that this is why my Windows-wide settings are no longer regarded by Git for Windows.

Previously, based upon this...
...I had set up some stuff in...
%PROGRAMDATA%\Git\config
...which would work with both Git for Windows and libgit2 in Visual Studio.

I see that Git for Windows is an option in the Visual Studio installer, so I'm gathering that there is now complete compatibility between Git for Windows and Visual Studio, and that Visual Studio no longer looks at $PROGRAMDATA\Git\config for its settings. 

Let me see if I'm understanding the new scheme.

As I understand it, there are now only four places to place Git configuration files instead of five, as follows:

git config --list --global
...refers to...
%GIT_INSTALL_ROOT%\etc\gitconfig
Common to all users and located wherever Git for Windows is installed.

git config --list --system
...refers to...
$HOME\.gitconfig
Specific to one user and located in the user's HOME directory.

git config --list --local
...refers to...
<Repository Root>\.git\config
Specific to a repository and located within it.

git config --list --worktree
This has not changed.

Am I correct?

Thanks,
Gregory Shields

Johannes Schindelin

unread,
Jul 13, 2020, 3:24:30 PM7/13/20
to Gregory Shields, git-for-windows
Hi Gregory,
Yes, you are correct.

And the best place to put your configuration is most likely in your
`~/.gitconfig`, i.e. in the file that you can edit using `git config
--global --edit`.

Ciao,
Johannes

michae...@gmail.com

unread,
Jul 14, 2020, 3:34:26 PM7/14/20
to git-for-windows


On Monday, July 13, 2020 at 3:24:30 PM UTC-4, Johannes Schindelin wrote:
Hi Gregory,

On Sat, 11 Jul 2020, Gregory Shields wrote:

> On Monday, November 4, 2019 at 4:36:43 PM UTC-6, Johannes Schindelin wrote:
> >
> > Changes since Git for Windows v2.23.0 (August 17th 2019)

Oh, sheesh... I got this message the other day and I was like, 2.24 ?! Huh? I see... 

Gregory Shields

unread,
Jul 14, 2020, 4:13:59 PM7/14/20
to git-for-windows
Thank you, Johannes.

It seems that your admonition to use ~/.gitconfig as the place to put configuration is very good advice for anyone who uses Visual Studio.

The reason I say this is because the Team Explorer in Visual Studio offers only two places to put configuration:
  • Global settings (git config --list --global --show-origin)
  • Local settings (git config --list --local --show-origin)

Some of the items under Global settings in Team Explorer read from and write to the ~/.gitconfig file.

Here are some relevant sections from my ~/.gitconfig file:
[user]
   
# User Name (VS Team Explorer)
    name
= Gregory Shields

   
# Email Address (VS Team Explorer)
    email
= gs@gregoryshields.net

[fetch]
   
# Prune remote branches during fetch (VS Team Explorer)
    prune
= false

[pull]
   
# Rebase local branch when pulling (VS Team Explorer)
    rebase
= false

[http]
   
#Cryptographic network provider (VS Team Explorer)
    sslbackend
= openssl


I should correct what I said in my previous message, because I got global and system backwards.

git config --list --system
...refers to...
%GIT_INSTALL_ROOT%\etc\gitconfig
Common to all users and located wherever Git for Windows is installed.

git config --list --global
...refers to...
$HOME\.gitconfig
Specific to one user and located in the user's HOME directory.

git config --list --local
...refers to...
<Repository Root>\.git\config
Specific to a repository and located within it.

git config --list --worktree
This has not changed.

 Regards,
Gregory Shields
Reply all
Reply to author
Forward
0 new messages