Skip to content

Commit 77783db

Browse files
derrickstoleedscho
authored andcommitted
Merge branch 'main' into maintenance-and-headless
2 parents 5bef090 + 217d9d6 commit 77783db

File tree

1,241 files changed

+147224
-80968
lines changed

Some content is hidden

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

1,241 files changed

+147224
-80968
lines changed

.gitattributes

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
*.perl eol=lf diff=perl
55
*.pl eof=lf diff=perl
66
*.pm eol=lf diff=perl
7+
*.png binary
78
*.py eol=lf diff=python
89
*.bat eol=crlf
10+
CODE_OF_CONDUCT.md -whitespace
911
/Documentation/**/*.txt eol=lf
1012
/command-list.txt eol=lf
1113
/GIT-VERSION-GEN eol=lf

.github/ISSUE_TEMPLATE.md

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

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,19 @@
1-
Thanks for taking the time to contribute to Git! Please be advised that the
2-
Git community does not use github.com for their contributions. Instead, we use
3-
a mailing list ([email protected]) for code submissions, code reviews, and
4-
bug reports. Nevertheless, you can use GitGitGadget (https://gitgitgadget.github.io/)
1+
Thanks for taking the time to contribute to Git!
2+
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+
documenatation 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/)
517
to conveniently send your Pull Requests commits to our mailing list.
618

719
Please read the "guidelines for contributing" linked above!

.github/config.yml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Configuration for sentiment-bot - https://github.com/behaviorbot/sentiment-bot
2+
3+
# *Required* toxicity threshold between 0 and .99 with the higher numbers being
4+
# the most toxic. Anything higher than this threshold will be marked as toxic
5+
# and commented on
6+
sentimentBotToxicityThreshold: .7
7+
8+
# *Required* Comment to reply with
9+
sentimentBotReplyComment: >
10+
Please be sure to review the code of conduct and be respectful of other users. cc/ @git-for-windows/trusted-git-for-windows-developers
Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
name: check-whitespace
2+
3+
# Get the repo with the commits(+1) in the series.
4+
# Process `git log --check` output to extract just the check errors.
5+
# Add a comment to the pull request with the check errors.
6+
7+
on:
8+
pull_request:
9+
types: [opened, synchronize]
10+
11+
jobs:
12+
check-whitespace:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Set commit count
16+
shell: bash
17+
run: echo "COMMIT_DEPTH=$((1+$COMMITS))" >>$GITHUB_ENV
18+
env:
19+
COMMITS: ${{ github.event.pull_request.commits }}
20+
21+
- uses: actions/checkout@v2
22+
with:
23+
fetch-depth: ${{ env.COMMIT_DEPTH }}
24+
25+
- name: git log --check
26+
id: check_out
27+
run: |
28+
log=
29+
commit=
30+
while read dash etc
31+
do
32+
case "${dash}" in
33+
"---")
34+
commit="${etc}"
35+
;;
36+
"")
37+
;;
38+
*)
39+
if test -n "${commit}"
40+
then
41+
log="${log}\n${commit}"
42+
echo ""
43+
echo "--- ${commit}"
44+
fi
45+
commit=
46+
log="${log}\n${dash} ${etc}"
47+
echo "${dash} ${etc}"
48+
;;
49+
esac
50+
done <<< $(git log --check --pretty=format:"---% h% s" -${{github.event.pull_request.commits}})
51+
52+
if test -n "${log}"
53+
then
54+
echo "::set-output name=checkout::"${log}""
55+
exit 2
56+
fi
57+
58+
- name: Add Check Output as Comment
59+
uses: actions/github-script@v3
60+
id: add-comment
61+
env:
62+
log: ${{ steps.check_out.outputs.checkout }}
63+
with:
64+
script: |
65+
await github.issues.createComment({
66+
issue_number: context.issue.number,
67+
owner: context.repo.owner,
68+
repo: context.repo.repo,
69+
body: `Whitespace errors found in workflow ${{ github.workflow }}:\n\n\`\`\`\n${process.env.log.replace(/\\n/g, "\n")}\n\`\`\``
70+
})
71+
if: ${{ failure() }}

.github/workflows/main.yml

Lines changed: 78 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,34 +7,74 @@ env:
77

88
jobs:
99
ci-config:
10-
runs-on: ubuntu-latest
11-
outputs:
12-
enabled: ${{ steps.check-ref.outputs.enabled }}
13-
steps:
14-
- name: try to clone ci-config branch
15-
continue-on-error: true
16-
run: |
17-
git -c protocol.version=2 clone \
18-
--no-tags \
19-
--single-branch \
20-
-b ci-config \
21-
--depth 1 \
22-
--no-checkout \
23-
--filter=blob:none \
24-
https://github.com/${{ github.repository }} \
25-
config-repo &&
26-
cd config-repo &&
27-
git checkout HEAD -- ci/config
28-
- id: check-ref
29-
name: check whether CI is enabled for ref
30-
run: |
31-
enabled=yes
32-
if test -x config-repo/ci/config/allow-ref &&
33-
! config-repo/ci/config/allow-ref '${{ github.ref }}'
34-
then
35-
enabled=no
36-
fi
37-
echo "::set-output name=enabled::$enabled"
10+
runs-on: ubuntu-latest
11+
outputs:
12+
enabled: ${{ steps.check-ref.outputs.enabled }}${{ steps.skip-if-redundant.outputs.enabled }}
13+
steps:
14+
- name: try to clone ci-config branch
15+
run: |
16+
git -c protocol.version=2 clone \
17+
--no-tags \
18+
--single-branch \
19+
-b ci-config \
20+
--depth 1 \
21+
--no-checkout \
22+
--filter=blob:none \
23+
https://github.com/${{ github.repository }} \
24+
config-repo &&
25+
cd config-repo &&
26+
git checkout HEAD -- ci/config || : ignore
27+
- id: check-ref
28+
name: check whether CI is enabled for ref
29+
run: |
30+
enabled=yes
31+
if test -x config-repo/ci/config/allow-ref &&
32+
! config-repo/ci/config/allow-ref '${{ github.ref }}'
33+
then
34+
enabled=no
35+
fi
36+
echo "::set-output name=enabled::$enabled"
37+
- name: skip if the commit or tree was already tested
38+
id: skip-if-redundant
39+
uses: actions/github-script@v3
40+
if: steps.check-ref.outputs.enabled == 'yes'
41+
with:
42+
github-token: ${{secrets.GITHUB_TOKEN}}
43+
script: |
44+
try {
45+
// Figure out workflow ID, commit and tree
46+
const { data: run } = await github.actions.getWorkflowRun({
47+
owner: context.repo.owner,
48+
repo: context.repo.repo,
49+
run_id: context.runId,
50+
});
51+
const workflow_id = run.workflow_id;
52+
const head_sha = run.head_sha;
53+
const tree_id = run.head_commit.tree_id;
54+
55+
// See whether there is a successful run for that commit or tree
56+
const { data: runs } = await github.actions.listWorkflowRuns({
57+
owner: context.repo.owner,
58+
repo: context.repo.repo,
59+
per_page: 500,
60+
status: 'success',
61+
workflow_id,
62+
});
63+
for (const run of runs.workflow_runs) {
64+
if (head_sha === run.head_sha) {
65+
core.warning(`Successful run for the commit ${head_sha}: ${run.html_url}`);
66+
core.setOutput('enabled', ' but skip');
67+
break;
68+
}
69+
if (run.head_commit && tree_id === run.head_commit.tree_id) {
70+
core.warning(`Successful run for the tree ${tree_id}: ${run.html_url}`);
71+
core.setOutput('enabled', ' but skip');
72+
break;
73+
}
74+
}
75+
} catch (e) {
76+
core.warning(e);
77+
}
3878
3979
windows-build:
4080
needs: ci-config
@@ -128,6 +168,9 @@ jobs:
128168
NO_PERL: 1
129169
GIT_CONFIG_PARAMETERS: "'user.name=CI' 'user.email=ci@git'"
130170
runs-on: windows-latest
171+
strategy:
172+
matrix:
173+
arch: [x64, arm64]
131174
steps:
132175
- uses: actions/checkout@v1
133176
- name: download git-sdk-64-minimal
@@ -155,20 +198,19 @@ jobs:
155198
Expand-Archive compat.zip -DestinationPath . -Force
156199
Remove-Item compat.zip
157200
- name: add msbuild to PATH
158-
uses: microsoft/setup-msbuild@v1.0.0
201+
uses: microsoft/setup-msbuild@v1
159202
- name: copy dlls to root
160203
shell: powershell
161204
run: |
162-
& compat\vcbuild\vcpkg_copy_dlls.bat release
205+
& compat\vcbuild\vcpkg_copy_dlls.bat release ${{ matrix.arch }}-windows
163206
if (!$?) { exit(1) }
164207
- name: generate Visual Studio solution
165208
shell: bash
166209
run: |
167-
cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows \
168-
-DIconv_LIBRARY=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows/lib/libiconv.lib -DIconv_INCLUDE_DIR=`pwd`/compat/vcbuild/vcpkg/installed/x64-windows/include \
169-
-DMSGFMT_EXE=`pwd`/git-sdk-64-minimal/mingw64/bin/msgfmt.exe -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON
210+
cmake `pwd`/contrib/buildsystems/ -DCMAKE_PREFIX_PATH=`pwd`/compat/vcbuild/vcpkg/installed/${{ matrix.arch }}-windows \
211+
-DMSGFMT_EXE=`pwd`/git-sdk-64-minimal/mingw64/bin/msgfmt.exe -DPERL_TESTS=OFF -DPYTHON_TESTS=OFF -DCURL_NO_CURL_CMAKE=ON -DCMAKE_GENERATOR_PLATFORM=${{ matrix.arch }} -DVCPKG_ARCH=${{ matrix.arch }}-windows
170212
- name: MSBuild
171-
run: msbuild git.sln -property:Configuration=Release -property:Platform=x64 -maxCpuCount:4 -property:PlatformToolset=v142
213+
run: msbuild git.sln -property:Configuration=Release -property:Platform=${{ matrix.arch }} -maxCpuCount:4 -property:PlatformToolset=v142
172214
- name: bundle artifact tar
173215
shell: powershell
174216
env:
@@ -182,7 +224,7 @@ jobs:
182224
- name: upload build artifacts
183225
uses: actions/upload-artifact@v1
184226
with:
185-
name: vs-artifacts
227+
name: vs-artifacts-${{ matrix.arch }}
186228
path: artifacts
187229
vs-test:
188230
runs-on: windows-latest
@@ -200,7 +242,7 @@ jobs:
200242
- name: download build artifacts
201243
uses: actions/download-artifact@v1
202244
with:
203-
name: vs-artifacts
245+
name: vs-artifacts-x64
204246
path: ${{github.workspace}}
205247
- name: extract build artifacts
206248
shell: bash

0 commit comments

Comments
 (0)