Skip to content

Commit a0d8bc6

Browse files
committed
Merge branch 'microsoft/vfs-2.35.0'
We actually only need the FSMonitor... Signed-off-by: Johannes Schindelin <[email protected]>
2 parents d79cbdd + 81d954e commit a0d8bc6

File tree

107 files changed

+14115
-356
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

107 files changed

+14115
-356
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
- [ ] I was not able to find an [open](https://github.com/microsoft/git/issues?q=is%3Aopen)
2+
or [closed](https://github.com/microsoft/git/issues?q=is%3Aclosed) issue matching
3+
what I'm seeing, including in [the `git-for-windows/git` tracker](https://github.com/git-for-windows/git/issues).
4+
5+
### Setup
6+
7+
- Which version of `microsoft/git` are you using? Is it 32-bit or 64-bit?
8+
9+
```
10+
$ git --version --build-options
11+
12+
** insert your machine's response here **
13+
```
14+
15+
Are you using Scalar or VFS for Git?
16+
17+
** insert your answer here **
18+
19+
If VFS for Git, then what version?
20+
21+
```
22+
$ gvfs version
23+
24+
** insert your machine's response here **
25+
```
26+
27+
- Which version of Windows are you running? Vista, 7, 8, 10? Is it 32-bit or 64-bit?
28+
29+
```
30+
$ cmd.exe /c ver
31+
32+
** insert your machine's response here **
33+
```
34+
35+
- Any other interesting things about your environment that might be related
36+
to the issue you're seeing?
37+
38+
** insert your response here **
39+
40+
### Details
41+
42+
- Which terminal/shell are you running Git from? e.g Bash/CMD/PowerShell/other
43+
44+
** insert your response here **
45+
46+
- What commands did you run to trigger this issue? If you can provide a
47+
[Minimal, Complete, and Verifiable example](http://stackoverflow.com/help/mcve)
48+
this will help us understand the issue.
49+
50+
```
51+
** insert your commands here **
52+
```
53+
- What did you expect to occur after running these commands?
54+
55+
** insert here **
56+
57+
- What actually happened instead?
58+
59+
** insert here **
60+
61+
- If the problem was occurring with a specific repository, can you specify
62+
the repository?
63+
64+
* [ ] Public repo: **insert URL here**
65+
* [ ] Windows monorepo
66+
* [ ] Office monorepo
67+
* [ ] Other Microsoft-internal repo: **insert name here**
68+
* [ ] Other internal repo.

.github/ISSUE_TEMPLATE/bug-report.yml

Lines changed: 0 additions & 105 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,10 @@
11
Thanks for taking the time to contribute to Git!
22

3-
Those seeking to contribute to the Git for Windows fork should see
4-
http://gitforwindows.org/#contribute on how to contribute Windows specific
5-
enhancements.
6-
7-
If your contribution is for the core Git functions and documentation
8-
please be aware that the Git community does not use the github.com issues
9-
or pull request mechanism for their contributions.
10-
11-
Instead, we use the Git mailing list ([email protected]) for code and
12-
documentation submissions, code reviews, and bug reports. The
13-
mailing list is plain text only (anything with HTML is sent directly
14-
to the spam folder).
15-
16-
Nevertheless, you can use GitGitGadget (https://gitgitgadget.github.io/)
17-
to conveniently send your Pull Requests commits to our mailing list.
18-
19-
For a single-commit pull request, please *leave the pull request description
20-
empty*: your commit message itself should describe your changes.
21-
22-
Please read the "guidelines for contributing" linked above!
3+
This fork contains changes specific to monorepo scenarios. If you are an
4+
external contributor, then please detail your reason for submitting to
5+
this fork:
6+
7+
* [ ] This is an early version of work already under review upstream.
8+
* [ ] This change only applies to interactions with Azure DevOps and the
9+
GVFS Protocol.
10+
* [ ] This change only applies to the virtualization hook and VFS for Git.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: Update Homebrew Tap
2+
on:
3+
release:
4+
types: [released]
5+
6+
permissions:
7+
id-token: write # required for Azure login via OIDC
8+
9+
jobs:
10+
release:
11+
runs-on: ubuntu-latest
12+
environment: release
13+
steps:
14+
- id: version
15+
name: Compute version number
16+
run: |
17+
echo "result=$(echo $GITHUB_REF | sed -e "s/^refs\/tags\/v//")" >>$GITHUB_OUTPUT
18+
- id: hash
19+
name: Compute release asset hash
20+
uses: mjcheetham/[email protected]
21+
with:
22+
asset: /git-(.*)\.pkg/
23+
hash: sha256
24+
token: ${{ secrets.GITHUB_TOKEN }}
25+
- name: Log into Azure
26+
uses: azure/login@v2
27+
with:
28+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
29+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
30+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
31+
- name: Retrieve token
32+
id: token
33+
run: |
34+
az keyvault secret show \
35+
--name ${{ secrets.HOMEBREW_TOKEN_SECRET_NAME }} \
36+
--vault-name ${{ secrets.AZURE_VAULT }} \
37+
--query "value" -o tsv >token &&
38+
# avoid outputting the token under `set -x` by using `sed` instead of `echo`
39+
sed s/^/::add-mask::/ <token &&
40+
sed s/^/result=/ <token >>$GITHUB_OUTPUT &&
41+
rm token
42+
- name: Update scalar Cask
43+
uses: mjcheetham/[email protected]
44+
with:
45+
token: ${{ steps.token.outputs.result }}
46+
tap: microsoft/git
47+
name: microsoft-git
48+
type: cask
49+
version: ${{ steps.version.outputs.result }}
50+
sha256: ${{ steps.hash.outputs.result }}
51+
alwaysUsePullRequest: false

.github/workflows/release-winget.yml

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: "release-winget"
2+
on:
3+
release:
4+
types: [released]
5+
6+
workflow_dispatch:
7+
inputs:
8+
tag:
9+
description: 'Tag name to release'
10+
required: true
11+
12+
permissions:
13+
id-token: write # required for Azure login via OIDC
14+
15+
env:
16+
TAG_NAME: ${{ github.event.inputs.tag }}
17+
18+
jobs:
19+
release:
20+
runs-on: windows-latest
21+
environment: release
22+
steps:
23+
- name: Log into Azure
24+
uses: azure/login@v2
25+
with:
26+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
27+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
28+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
29+
30+
- name: Publish manifest with winget-create
31+
run: |
32+
# Enabling stop on error and tracing
33+
Set-PSDebug -Trace 2
34+
$ErrorActionPreference = "Stop"
35+
$PSNativeCommandErrorActionPreference = "Stop"
36+
37+
if ($env:TAG_NAME -eq "") {
38+
# Get latest release
39+
$github = Get-Content '${{ github.event_path }}' | ConvertFrom-Json
40+
41+
# Set the tag name environment variable
42+
$env:TAG_NAME = $github.release.tag_name
43+
44+
# Get download URLs
45+
$asset_x64 = $github.release.assets | Where-Object -Property name -match '64-bit.exe$'
46+
$asset_arm64 = $github.release.assets | Where-Object -Property name -match 'arm64.exe$'
47+
$asset_x64_url = $asset_x64.browser_download_url
48+
$asset_arm64_url = $asset_arm64.browser_download_url
49+
} else {
50+
# Get release object by its tag
51+
$env:GH_TOKEN = ${{ toJson(secrets.GITHUB_TOKEN) }}
52+
$github = (gh release view -R microsoft/git $env:TAG_NAME --json tagName,assets --jq '{tag_name: .tagName, assets: .assets}') | ConvertFrom-Json
53+
54+
# Get download URLs
55+
$asset_x64 = $github.assets | Where-Object -Property name -match '64-bit.exe$'
56+
$asset_arm64 = $github.assets | Where-Object -Property name -match 'arm64.exe$'
57+
$asset_x64_url = $asset_x64.url
58+
$asset_arm64_url = $asset_arm64.url
59+
}
60+
61+
# Remove 'v' and 'vfs' from the version
62+
$env:TAG_NAME -match 'v(.*?)vfs\.(.*)'
63+
$version = $Matches[1] + $Matches[2]
64+
65+
# Download wingetcreate and create manifests
66+
Invoke-WebRequest https://aka.ms/wingetcreate/latest -OutFile wingetcreate.exe
67+
.\wingetcreate.exe update Microsoft.Git `
68+
-v $version `
69+
-o . `
70+
-u "$($asset_x64_url)|x64|machine" `
71+
"$($asset_x64_url)|x64|user" `
72+
"$($asset_arm64_url)|arm64|machine" `
73+
"$($asset_arm64_url)|arm64|user"
74+
75+
# Download the token from Azure Key Vault and mask it in the logs
76+
az keyvault secret download --name ${{ secrets.WINGET_TOKEN_SECRET_NAME }} --vault-name ${{ secrets.AZURE_VAULT }} --file token.txt
77+
Write-Host -NoNewLine "::add-mask::$(Get-Content token.txt)"
78+
79+
# Submit the manifest to the winget-pkgs repository
80+
$manifestDirectory = "$PWD\manifests\m\Microsoft\Git\$version"
81+
.\wingetcreate.exe submit -t "$(Get-Content token.txt)" $manifestDirectory
82+
shell: powershell

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
/git-gc
7676
/git-get-tar-commit-id
7777
/git-grep
78+
/git-gvfs-helper
7879
/git-hash-object
7980
/git-help
8081
/git-hook
@@ -174,6 +175,7 @@
174175
/git-unpack-file
175176
/git-unpack-objects
176177
/git-update-index
178+
/git-update-microsoft-git
177179
/git-update-ref
178180
/git-update-server-info
179181
/git-upload-archive

0 commit comments

Comments
 (0)