Skip to content

Commit 70201b7

Browse files
authored
Merge pull request #79 from git-for-windows/snapshots-and-stuff
Snapshots and stuff
2 parents c7b7a6e + 50001cc commit 70201b7

File tree

7 files changed

+59
-20
lines changed

7 files changed

+59
-20
lines changed

content/faq.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ For extracting 7z/zip archives see [page](./zip-archives-extracting-the-released
6060

6161
## Are there 'Nightly' builds of the latest and greatest
6262

63-
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
63+
The Git for Windows builds are not quite that frequent, but there are [Snapshot builds](https://gitforwindows.org/git-snapshots/).
6464

6565
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.
6666

content/install-inside-msys2-proper.md

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,47 +16,61 @@ Here are the steps to install the 64-bit version of Git for Windows to be run in
1616

1717
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):
1818

19-
[git-for-windows]
20-
Server = https://wingit.blob.core.windows.net/x86-64
19+
```
20+
[git-for-windows-x86_64]
21+
Server = https://raw.githubusercontent.com/git-for-windows/pacman-repo/refs/heads/x86_64
2122
22-
[git-for-windows-mingw32]
23-
Server = https://wingit.blob.core.windows.net/i686
23+
[git-for-windows-mingw32]
24+
Server = https://raw.githubusercontent.com/git-for-windows/pacman-repo/refs/heads/i686
25+
```
2426
2527
(The above is correct. The second, MINGW-only repository is for the other architecture.)
2628
2729
This step can be done with the following `sed` command (make sure to do proper backup before trying it):
2830
29-
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
31+
```
32+
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
33+
```
3034
3135
To avoid the future signature related issues, run the following commands first
3236
33-
rm -r /etc/pacman.d/gnupg/
34-
pacman-key --init
35-
pacman-key --populate msys2
37+
```
38+
rm -r /etc/pacman.d/gnupg/
39+
pacman-key --init
40+
pacman-key --populate msys2
41+
```
3642
3743
2. Authorize the signing key with:
3844
39-
curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/HEAD/git-for-windows-keyring/git-for-windows.gpg |
40-
pacman-key --add - &&
41-
pacman-key --lsign-key E8325679DFFF09668AD8D7B67115A57376871B1C &&
42-
pacman-key --lsign-key 3B6D86A1BA7701CD0F23AED888138B9E1A9F3986
45+
```
46+
curl -L https://raw.githubusercontent.com/git-for-windows/build-extra/HEAD/git-for-windows-keyring/git-for-windows.gpg |
47+
pacman-key --add - &&
48+
pacman-key --lsign-key E8325679DFFF09668AD8D7B67115A57376871B1C &&
49+
pacman-key --lsign-key 3B6D86A1BA7701CD0F23AED888138B9E1A9F3986
50+
```
4351
4452
3. Then synchronize with new repositories with
4553
46-
pacman -Syyuu
54+
```
55+
pacman -Syyuu
56+
```
4757
48-
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.
58+
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.
4959
Double-check Task Manager and kill `pacman.exe` if it's still running after the window is closed. Start a new MSYS2 terminal.
5060
5161
4. Then synchronize *again* to install the rest:
5262
53-
pacman -Suu
63+
```
64+
pacman -Suu
65+
```
5466
5567
It might happen that some packages are downgraded, this is expected.
5668
5769
5. And finally install the packages containing Git, its documentation and some extra things:
5870
59-
pacman -S mingw-w64-x86_64-{git,git-doc-html,git-doc-man} mingw-w64-x86_64-git-extra
71+
```
72+
pacman -S mingw-w64-x86_64-{git,git-doc-html,git-doc-man} mingw-w64-x86_64-git-extra
73+
```
6074
6175
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).
6276

content/releasing-git-for-windows.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,11 @@ Sadly, things are broken a lot. In those cases, the logs have to be analyzed, an
128128

129129
This step is trivial: `git push origin <branch>:main` where `<branch>` is something like `rebase-to-v2.37.0`.
130130

131-
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).
131+
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/).
132132

133133
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.
134134

135-
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.
135+
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.
136136

137137

138138
## How to release a quick-fix release

content/snaps.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
type: redirect
3+
redirect_to: https://gitforwindows.org/git-snapshots/
4+
---

content/snapshot-builds.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Git for Windows' `main` branch is kept in an always-releasable state as much as
77

88
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.
99

10-
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.
10+
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.
1111

1212
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.
1313

content/snapshots.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
---
2+
type: redirect
3+
redirect_to: https://gitforwindows.org/git-snapshots/
4+
---

layouts/redirect/single.html

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8" />
5+
<title>Redirecting&hellip; Git for Windows snapshots</title>
6+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
7+
<link rel="stylesheet" href="GitForWindows.css" />
8+
<link rel="shortcut icon" href="{{ relURL "favicon.ico" }}" />
9+
<link rel="canonical" href="{{ .Params.redirect_to }}" />
10+
<meta http-equiv="refresh" content="0; url={{ .Params.redirect_to }}" />
11+
</head>
12+
<body>
13+
<script>window.location.replace(document.querySelector("link[rel='canonical']").href + window.location.search + window.location.hash)</script>
14+
<h1>Redirecting&hellip;</h1>
15+
<a href="{{ .Params.redirect_to }}">Click here if you are not redirected.</a>
16+
</body>
17+
</html>

0 commit comments

Comments
 (0)