Description
To support IPv6, Git originally had to take pains to provide fall back functions for Windows versions that did not support IPv6, as was detailed in the commit message of fe3b2b7.
However, in the meantime we dropped support even for Windows XP, so we are safely in the realm where those functions are Just There.
To remove those fallbacks, we essentially need to revert above-mentioned commit and use the functions directly, i.e. without ipv6_
prefix (a git grep ipv6_
will find the callers).
Step 1: Initialize a Git for Windows SDK
If you have not done so before, install a Git for Windows SDK by running the installer here: https://gitforwindows.org/#download-sdk (or make a shallow clone of https://github.com/git-for-windows/git-sdk-64).
Run the git-bash.exe
in the top-level directory of the git-sdk-64 worktree to finish the setup.
Step 2: Build Git
After opening a Git SDK Bash, run sdk cd git
to switch directories to the worktree, and possibly initializing your own clone of Git for Windows' source code.
Then, run make
.
Step 3: make the code changes
Essentially, substitute all ipv6_*
callers by the non-prefixed versions, then commit with a nice commit message.
Then, remove the ipv6_*
function pointers, the stubs, and the initialization, again commit.
Then compile again.
Step 4: test the built version
You can test this in-place by running git --exec-path=$PWD ls-remote <IPv6-URL>
.
Step 5: open a Pull Request
If you have not done so yet, fork https://github.com/git-for-windows/git (if you forked git/git or any other fork of git/git, that's fine, too). Then push your branch and open a Pull Request on https://github.com/git-for-windows/git.
Alternative step 5: send your patches to the Git mailing list
This process is described in our guidelines: https://github.com/git-for-windows/git/blob/master/CONTRIBUTING.md