🔗Building Git on Windows
We build Git for Windows using an MSYS2 based Git for Windows SDK. This SDK can be installed via the SDK installer
🔗Installing a build environment
- Just run the SDK installer.
🔗Build Git
An initial
git clone
andmake
should have already occurred when running the SDK installer.Open the Git for Windows SDK MinGW shell by double clicking either the Shortcut on the desktop
Git SDK 32-bit.lnk
or by double clickingmingw32_shell.bat
in the install folder. That isGit SDK 64-bit.lnk
andmingw64_shell.bat
for the64bit
SDK installer.Change directory to the initial clone:
cd /usr/src/git
. If the directory is empty you may have themaster
branch checked out:git checkout main
.(Optional) build Git:
make install
Run the test suite:
make test
. If you are a fan of statistics, you can use the followingprove
invocation to run the testsuite. But first we have to change to the test directory with the commandcd t
. After that you can issue/usr/bin/time prove -j 15 --state=failed,save ./t[0-9]*.sh
. If 15 threads are too many for your system, you can provide the number of threads via the-j <num>
(j for jobs) parameter.
🔗Build Git from a Pull Request or another branch
Once the SDK built Git, it is very easy to build another revision of Git, such as per a different branch or Pull Request.
- open the Git Bash of the SDK unless it is still open: execute the
git-bash.exe
binary in the top-level directory of the SDK, - switch the working directory:
cd /usr/src/git
, - fetch the Pull Request’s revision or the branch:
- if you want to test a Pull Request, call
git fetch origin refs/pull/<id>/head
, where<id>
is the number of the Pull Request (e.g. if you want to test Pull Request #606, you would callgit fetch origin refs/pull/606/head
), - if you want to test a custom branch, call
git fetch <url> <branch>
instead, where<url>
is the URL of the repository and<branch>
is the name of the branch to test (e.g. if you wanted to test @dscho’scool-new-feature
branch, you would callgit fetch https://github.com/dscho/git cool-new-feature
), - check out the revision that was just fetched:
git checkout FETCH_HEAD
, - continue as above either by
make install
ormake test
.
🔗Updating to the newest Git for Windows version
cd /usr/src/git
git pull
make -j15 install install-html
🔗Testing the new Git version
As before:
cd /usr/src/git/t
/usr/bin/time prove -j 5 --state=failed,save ./t[0-9]*.sh
🔗See also Regression Testing
Single tests, block of tests, or the whole test suite can be run, as detailed in Running Git’s regression-tests
TODO: mention good practices to develop using Eclipse, MSVC