From 3a3a303dc3c641340681d98dc7917bddadd19dcc Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 15 Oct 2025 10:30:15 +0200 Subject: [PATCH 1/4] Replace outdated snapshot links I have moved the snapshots from Azure Blobs a long time ago. While there _is_ a redirect in place, it's better to link to the correct place to begin with. Signed-off-by: Johannes Schindelin --- content/faq.md | 2 +- content/releasing-git-for-windows.md | 4 ++-- content/snapshot-builds.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/faq.md b/content/faq.md index a2b593cd..0aa68200 100644 --- a/content/faq.md +++ b/content/faq.md @@ -60,7 +60,7 @@ For extracting 7z/zip archives see [page](./zip-archives-extracting-the-released ## Are there 'Nightly' builds of the latest and greatest -The Git for Windows builds are not quite that frequent, but there are Snapshot builds listed at https://wingit.blob.core.windows.net/files/index.html +The Git for Windows builds are not quite that frequent, but there are [Snapshot builds](https://gitforwindows.org/git-snapshots/). These often 'fix' (or attempt fixes) recent issues before a new formal release. Check their commit notes and links to issues to see if your problem is included. diff --git a/content/releasing-git-for-windows.md b/content/releasing-git-for-windows.md index 6973a709..c500297a 100644 --- a/content/releasing-git-for-windows.md +++ b/content/releasing-git-for-windows.md @@ -128,11 +128,11 @@ Sadly, things are broken a lot. In those cases, the logs have to be analyzed, an This step is trivial: `git push origin :main` where `` is something like `rebase-to-v2.37.0`. -This will trigger another "Git artifacts" run, which will figure out that there is a GitHub Release for that commit, download those artifacts, then trigger a run of [the `Snapshots` Release Pipeline](https://dev.azure.com/git-for-windows/git/_release?definitionId=2&view=mine&_a=releases), which will then upload [the snapshot](https://wingit.blob.core.windows.net/files/index.html). +This will trigger another "Git artifacts" run, which will figure out that there is a GitHub Release for that commit, download those artifacts, then trigger a run of [the `Snapshots` Release Pipeline](https://dev.azure.com/git-for-windows/git/_release?definitionId=2&view=mine&_a=releases), which will then upload [the snapshot](https://gitforwindows.org/git-snapshots/). It is important to wait with pushing to `main` until there is a GitHub Release, otherwise the "Git artifacts" Pipeline would build _another_ set of artifacts and upload those, but we do want to use the same artifacts as were uploaded to GitHub Releases. -Note: The idea is to push to `main` relatively soon after the Release Pipeline finished, to keep the Pacman repository, the [snapshots](https://wingit.blob.core.windows.net/files/index.html) and the `main` branches as aligned as possible. +Note: The idea is to push to `main` relatively soon after the Release Pipeline finished, to keep the Pacman repository, the [snapshots](https://gitforwindows.org/git-snapshots/) and the `main` branches as aligned as possible. ## How to release a quick-fix release diff --git a/content/snapshot-builds.md b/content/snapshot-builds.md index c17836b0..1dc15e75 100644 --- a/content/snapshot-builds.md +++ b/content/snapshot-builds.md @@ -7,7 +7,7 @@ Git for Windows' `main` branch is kept in an always-releasable state as much as For example, in case that a critical bug is discovered that really needs to be fixed within the same day, Git for Windows does not have a maintenance branch (or, "stable" branch). Such a fix would be applied on top of `main` and a new version would be created from that state. -To allow users to help verifying that "always-releasable state", as well as to allow users to verify fixes introduced via PRs, Git for Windows builds "snapshot" releases (published [here](https://wingit.blob.core.windows.net/files/index.html)) whenever the `main` branch advances. +To allow users to help verifying that "always-releasable state", as well as to allow users to verify fixes introduced via PRs, Git for Windows builds "snapshot" releases (published [here](https://gitforwindows.org/git-snapshots/)) whenever the `main` branch advances. Those snapshot releases are considered robust. They are built using [the exact same Azure Pipeline](https://dev.azure.com/git-for-windows/git/_build?definitionId=34&_a=summary) that also builds official Git for Windows versions (as well as the `-rc` pre-releases leading up to every major version). Snapshot versions come in the same flavors as full Git for Windows versions: 32-bit and 64-bit, installers, portable Gits, MinGits. From aa2adb90b723b7a3f7d570887593a278c75a4f4b Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 15 Oct 2025 10:46:09 +0200 Subject: [PATCH 2/4] Redirect `/snapshots` to `/git-snapshots` The snapshots are hosted in the GitHub Pages of the https://github.com/git-for-windows/git-snapshots/ repository. That repository name is reasonably distinctive for a repository, but it is reflected in the URL https://gitforwindows.org/git-snapshots/, making it a tad tedious to write out the first time. Let's redirect the URLs `/snaps` and `/snapshots` for convenience. Signed-off-by: Johannes Schindelin --- content/snaps.md | 4 ++++ content/snapshots.md | 4 ++++ layouts/redirect/single.html | 17 +++++++++++++++++ 3 files changed, 25 insertions(+) create mode 100644 content/snaps.md create mode 100644 content/snapshots.md create mode 100644 layouts/redirect/single.html diff --git a/content/snaps.md b/content/snaps.md new file mode 100644 index 00000000..effbe933 --- /dev/null +++ b/content/snaps.md @@ -0,0 +1,4 @@ +--- +type: redirect +redirect_to: https://gitforwindows.org/git-snapshots/ +--- diff --git a/content/snapshots.md b/content/snapshots.md new file mode 100644 index 00000000..effbe933 --- /dev/null +++ b/content/snapshots.md @@ -0,0 +1,4 @@ +--- +type: redirect +redirect_to: https://gitforwindows.org/git-snapshots/ +--- diff --git a/layouts/redirect/single.html b/layouts/redirect/single.html new file mode 100644 index 00000000..52caf5cd --- /dev/null +++ b/layouts/redirect/single.html @@ -0,0 +1,17 @@ + + + + + Redirecting… Git for Windows snapshots + + + + + + + + +

Redirecting…

+ Click here if you are not redirected. + + From 58c654fcf22dce1c1d34a9648de577073bc2c910 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 15 Oct 2025 12:54:27 +0200 Subject: [PATCH 3/4] install-inside-msys2-proper: convert code blocks to proper Markdown This commit is best viewed with `-w -I '^ *```$'` (in which case the diff is empty). Signed-off-by: Johannes Schindelin --- content/install-inside-msys2-proper.md | 46 +++++++++++++++++--------- 1 file changed, 30 insertions(+), 16 deletions(-) diff --git a/content/install-inside-msys2-proper.md b/content/install-inside-msys2-proper.md index d62f95c7..44df8cbe 100644 --- a/content/install-inside-msys2-proper.md +++ b/content/install-inside-msys2-proper.md @@ -16,47 +16,61 @@ Here are the steps to install the 64-bit version of Git for Windows to be run in 1. Edit `/etc/pacman.conf` and add the Git for Windows package repositories above any others (i.e. just before `[mingw32]` on line #71 as of this writing): - [git-for-windows] - Server = https://wingit.blob.core.windows.net/x86-64 + ``` + [git-for-windows] + Server = https://wingit.blob.core.windows.net/x86-64 - [git-for-windows-mingw32] - Server = https://wingit.blob.core.windows.net/i686 + [git-for-windows-mingw32] + Server = https://wingit.blob.core.windows.net/i686 + ``` (The above is correct. The second, MINGW-only repository is for the other architecture.) This step can be done with the following `sed` command (make sure to do proper backup before trying it): - sed -i '/^\[mingw32\]/{ s|^|[git-for-windows]\nServer = https://wingit.blob.core.windows.net/x86-64\n\n[git-for-windows-mingw32]\nServer = https://wingit.blob.core.windows.net/i686\n\n|; }' /etc/pacman.conf + ``` + sed -i '/^\[mingw32\]/{ s|^|[git-for-windows]\nServer = https://wingit.blob.core.windows.net/x86-64\n\n[git-for-windows-mingw32]\nServer = https://wingit.blob.core.windows.net/i686\n\n|; }' /etc/pacman.conf + ``` To avoid the future signature related issues, run the following commands first - rm -r /etc/pacman.d/gnupg/ - pacman-key --init - pacman-key --populate msys2 + ``` + rm -r /etc/pacman.d/gnupg/ + pacman-key --init + pacman-key --populate msys2 + ``` 2. Authorize the signing key with: - curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/HEAD/git-for-windows-keyring/git-for-windows.gpg | - pacman-key --add - && - pacman-key --lsign-key E8325679DFFF09668AD8D7B67115A57376871B1C && - pacman-key --lsign-key 3B6D86A1BA7701CD0F23AED888138B9E1A9F3986 + ``` + curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/HEAD/git-for-windows-keyring/git-for-windows.gpg | + pacman-key --add - && + pacman-key --lsign-key E8325679DFFF09668AD8D7B67115A57376871B1C && + pacman-key --lsign-key 3B6D86A1BA7701CD0F23AED888138B9E1A9F3986 + ``` 3. Then synchronize with new repositories with - pacman -Syyuu + ``` + pacman -Syyuu + ``` - This installs a new `msys2-runtime` and therefore will ask you to terminate all MSYS2 processes. Save what you need from other open MSYS2 shells and programs, exit them and confirm the Pacman prompt. + This installs a new `msys2-runtime` and therefore will ask you to terminate all MSYS2 processes. Save what you need from other open MSYS2 shells and programs, exit them and confirm the Pacman prompt. Double-check Task Manager and kill `pacman.exe` if it's still running after the window is closed. Start a new MSYS2 terminal. 4. Then synchronize *again* to install the rest: - pacman -Suu + ``` + pacman -Suu + ``` It might happen that some packages are downgraded, this is expected. 5. And finally install the packages containing Git, its documentation and some extra things: - pacman -S mingw-w64-x86_64-{git,git-doc-html,git-doc-man} mingw-w64-x86_64-git-extra + ``` + pacman -S mingw-w64-x86_64-{git,git-doc-html,git-doc-man} mingw-w64-x86_64-git-extra + ``` Now you can close the current shell and open a MINGW64 shell (`msys2_shell.cmd -mingw64`) to check that everything went well. Run `git --version` and it should output something like `git version 2.31.0.windows.1` (or newer). From 50001cc8e70c714bb31fcc39a5b150e5d8e6fc36 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Wed, 15 Oct 2025 12:55:20 +0200 Subject: [PATCH 4/4] install-inside-msys2-proper: adjust the Pacman repository URLs Git for Windows switched to the new Pacman repository (which is no longer backed by Azure Blobs, but instead by a GitHub repository) a long time ago. It's high time that this page followed suite. Signed-off-by: Johannes Schindelin --- content/install-inside-msys2-proper.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/install-inside-msys2-proper.md b/content/install-inside-msys2-proper.md index 44df8cbe..a1441fe2 100644 --- a/content/install-inside-msys2-proper.md +++ b/content/install-inside-msys2-proper.md @@ -17,11 +17,11 @@ Here are the steps to install the 64-bit version of Git for Windows to be run in 1. Edit `/etc/pacman.conf` and add the Git for Windows package repositories above any others (i.e. just before `[mingw32]` on line #71 as of this writing): ``` - [git-for-windows] - Server = https://wingit.blob.core.windows.net/x86-64 + [git-for-windows-x86_64] + Server = https://raw.githubusercontent.com/git-for-windows/pacman-repo/refs/heads/x86_64 [git-for-windows-mingw32] - Server = https://wingit.blob.core.windows.net/i686 + Server = https://raw.githubusercontent.com/git-for-windows/pacman-repo/refs/heads/i686 ``` (The above is correct. The second, MINGW-only repository is for the other architecture.) @@ -29,7 +29,7 @@ Here are the steps to install the 64-bit version of Git for Windows to be run in This step can be done with the following `sed` command (make sure to do proper backup before trying it): ``` - sed -i '/^\[mingw32\]/{ s|^|[git-for-windows]\nServer = https://wingit.blob.core.windows.net/x86-64\n\n[git-for-windows-mingw32]\nServer = https://wingit.blob.core.windows.net/i686\n\n|; }' /etc/pacman.conf + sed -i '/^\[mingw32\]/{ s|^|[git-for-windows-x86_64]\nServer = https://raw.githubusercontent.com/git-for-windows/pacman-repo/refs/heads/x86_64\n\n[git-for-windows-mingw32]\nServer = https://raw.githubusercontent.com/git-for-windows/pacman-repo/refs/heads/i686\n\n|; }' /etc/pacman.conf ``` To avoid the future signature related issues, run the following commands first