forked from git/git
-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rebase to v2.44.0-rc1 #4816
Merged
Merged
Rebase to v2.44.0-rc1 #4816
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Just like the `hash-object --literally` code path, the `--stdin` code path also needs to use `size_t` instead of `unsigned long` to represent memory sizes, otherwise it would cause problems on platforms using the LLP64 data model (such as Windows). To limit the scope of the test case, the object is explicitly not written to the object store, nor are any filters applied. The `big` file from the previous test case is reused to save setup time; To avoid relying on that side effect, it is generated if it does not exist (e.g. when running via `sh t1007-*.sh --long --run=1,41`). Signed-off-by: Philip Oakley <philipoakley@iee.email> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
To complement the `--stdin` and `--literally` test cases that verify that we can hash files larger than 4GB on 64-bit platforms using the LLP64 data model, here is a test case that exercises `hash-object` _without_ any options. Just as before, we use the `big` file from the previous test case if it exists to save on setup time, otherwise generate it. Signed-off-by: Philip Oakley <philipoakley@iee.email> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Derrick Stolee <derrickstolee@github.com>
To verify that the `clean` side of the `clean`/`smudge` filter code is correct with regards to LLP64 (read: to ensure that `size_t` is used instead of `unsigned long`), here is a test case using a trivial filter, specifically _not_ writing anything to the object store to limit the scope of the test case. As in previous commits, the `big` file from previous test cases is reused if available, to save setup time, otherwise re-generated. Signed-off-by: Philip Oakley <philipoakley@iee.email> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
In the case of Git for Windows (say, in a Git Bash window) running in a Windows Subsystem for Linux (WSL) directory, the GetNamedSecurityInfoW() call in is_path_owned_By_current_side() returns an error code other than ERROR_SUCCESS. This is consistent behavior across this boundary. In these cases, the owner would always be different because the WSL owner is a different entity than the Windows user. The change here is to suppress the error message that looks like this: error: failed to get owner for '//wsl.localhost/...' (1) Before this change, this warning happens for every Git command, regardless of whether the directory is marked with safe.directory. Signed-off-by: Derrick Stolee <derrickstolee@github.com>
For Windows builds >= 15063 set $env:TERM to "xterm-256color" instead of "cygwin" because they have a more capable console system that supports this. Also set $env:COLORTERM="truecolor" if unset. $env:TERM is initialized so that ANSI colors in color.c work, see 29a3963 (Win32: patch Windows environment on startup, 2012-01-15). See git-for-windows#3629 regarding problems caused by always setting $env:TERM="cygwin". This is the same heuristic used by the Cygwin runtime. Signed-off-by: Rafael Kitover <rkitover@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
NtQueryObject under Wine can return a success but fill out no name. In those situations, Wine will set Buffer to NULL, and set result to the sizeof(OBJECT_NAME_INFORMATION). Running a command such as echo "$(git.exe --version 2>/dev/null)" will crash due to a NULL pointer dereference when the code attempts to null terminate the buffer, although, weirdly, removing the subshell or redirecting stdout to a file will not trigger the crash. Code has been added to also check Buffer and Length to ensure the check is as robust as possible due to the current behavior being fragile at best, and could potentially change in the future This code is based on the behavior of NtQueryObject under wine and reactos. Signed-off-by: Christopher Degawa <ccom@randomderp.com>
Atomic append on windows is only supported on local disk files, and it may cause errors in other situations, e.g. network file system. If that is the case, this config option should be used to turn atomic append off. Co-Authored-By: Johannes Schindelin <johannes.schindelin@gmx.de> Signed-off-by: 孙卓识 <sunzhuoshi@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
From the documentation of said setting: This boolean will enable fsync() when writing object files. This is a total waste of time and effort on a filesystem that orders data writes properly, but can be useful for filesystems that do not use journalling (traditional UNIX filesystems) or that only journal metadata and not file contents (OS X’s HFS+, or Linux ext3 with "data=writeback"). The most common file system on Windows (NTFS) does not guarantee that order, therefore a sudden loss of power (or any other event causing an unclean shutdown) would cause corrupt files (i.e. files filled with NULs). Therefore we need to change the default. Note that the documentation makes it sound as if this causes really bad performance. In reality, writing loose objects is something that is done only rarely, and only a handful of files at a time. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This is another fall-out of the recent refactoring flurry. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This fixes the build after 7bc341e (git-compat-util: add a test balloon for C99 support, 2021-12-01). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This is now passed by default, ever since 6a8cbc4 (developer: enable pedantic by default, 2021-09-03). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Since ef8a6c6 (reftable: utility functions, 2021-10-07) we not only have a libreftable, but also a libreftable_test. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Visual Studio 2022 does not like that at all. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
These refactorings are really gifts that keep on giving. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
It is not useful because we do not have any persisted directory anymore, not since dropping our Travis CI support. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
... so that we can test a MinGit backport in a private repository (with GitHub Actions, minutes and parallel jobs are limited way more than with Azure Pipelines in private repositories). In this commit, we reinstate the exact version of `azure-pipelines.yml` as 6081d38 (ci: retire the Azure Pipelines definition, 2020-04-11) deleted. Naturally, many adjustments are required to make it work again. Some of the changes are actually outside of that file (such as the `runs_on_pool` changes that are needed in the Azure Pipelines part of `ci/lib.sh`) and they were made in the commits leading up to this here commit. However, other adjustments are required in the `azure-pipelines.yml` file itself, and for ease of review (read: to build confidence in those changes) they will be made in subsequent, individual commits that explain the intent, context, implementation and justification like every good commit message should do. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This is a follow-up to 6c280b4 (ci: remove GETTEXT_POISON jobs, 2021-01-20) after reinstating the Azure Pipeline. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
We have `ci/install-dependencies.sh` for that. Incidentally, this avoids the following error in the linux-* jobs: The following packages have unmet dependencies: git-email : Depends: git (< 1:2.25.1-.) but 1:2.35.1-0ppa1~ubuntu20.04.1 is to be installed Recommends: libemail-valid-perl but it is not going to be installed Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
We haven't used this feature in ages, we don't actually need to. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
…imal-sdk The Azure Pipeline `git-sdk-64-minimal` was retired... Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
These many refactorings in Git sure are gifts that keep on giving. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This is inspired by d051ed7 (.github/workflows/main.yml: run static-analysis on bionic, 2021-02-08) and by ef46584 (ci: update 'static-analysis' to Ubuntu 22.04, 2022-08-23), adapted to the Azure Pipeline. When Azure Pipelines' build agents transitioned 'ubuntu-latest' from 18.04 to 20.04, it broke our `static-analysis` job, since Coccinelle was not madeavailable on Ubuntu focal (it is only available in the universe suite). This is not an issue with Ubuntu 22.04, but we will only know whether it is an issue with 24.04 when _that_ comes out. So let's play it safe and pin the `static_analysis` job to the latest Ubuntu version that we know to offer a working Coccinelle package. Signed-off-by: Taylor Blau <me@ttaylorr.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Whith Windows 2000, Microsoft introduced a flag to the PE header to mark executables as "terminal server aware". Windows terminal servers provide a redirected Windows directory and redirected registry hives when launching legacy applications without this flag set. Since we do not use any INI files in the Windows directory and don't write to the registry, we don't need this additional preparation. Telling the OS that we don't need this should provide slightly improved startup times in terminal server environments. When building for supported Windows Versions with MSVC the /TSAWARE linker flag is automatically set, but MinGW requires us to set the --tsaware flag manually. This partially addresses git-for-windows#3935. Signed-off-by: Matthias Aßhauer <mha1993@live.de>
Add FileVersion, which is a required field As not all required fields were present, none were being included Fixes git-for-windows#4090 Signed-off-by: Kiel Hurley <kielhurley@gmail.com>
Newer compiler versions, like GCC 10 and Clang 12, have built-in functions for bswap32 and bswap64. This comes in handy, for example, when targeting CLANGARM64 on Windows, which would not be supported without this logic. Signed-off-by: Dennis Ameling <dennis@dennisameling.com>
CLANGARM64 is a relatively new MSYSTEM added by the MSYS2 team. In order to have Git build correctly for this platform, let's add some configuration for it to config.mak.uname. Signed-off-by: Dennis Ameling <dennis@dennisameling.com>
This compile-time option allows to ask Git to load libcurl dynamically at runtime. Together with a follow-up patch that optionally overrides the file name depending on the `http.sslBackend` setting, this kicks open the door for installing multiple libcurl flavors side by side, and load the one corresponding to the (runtime-)configured SSL/TLS backend. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
No GitHub-hosted ARM64 runners are available at the moment of writing, but folks can leverage self-hosted runners of this architecture. This CI pipeline comes in handy for forks of the git-for-windows/git project that have such runners available. The pipeline can be kicked off manually through a workflow_dispatch. Signed-off-by: Dennis Ameling <dennis@dennisameling.com>
Git for Windows accepts pull requests; Core Git does not. Therefore we need to adjust the template (because it only matches core Git's project management style, not ours). Also: direct Git for Windows enhancements to their contributions page, space out the text for easy reading, and clarify that the mailing list is plain text, not HTML. Signed-off-by: Philip Oakley <philipoakley@iee.org> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
See https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot#enabling-dependabot-version-updates-for-actions for details. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
The sentiment bot will help detect when things get too heated. Hopefully. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Git documentation refers to $HOME and $XDG_CONFIG_HOME often, but does not specify how or where these values come from on Windows where neither is set by default. The new documentation reflects the behavior of setup_windows_environment() in compat/mingw.c. Signed-off-by: Alejandro Barreto <alejandro.barreto@ni.com>
These are Git for Windows' Git GUI and gitk patches. We will have to decide at some point what to do about them, but that's a little lower priority (as Git GUI seems to be unmaintained for the time being, and the gitk maintainer keeps a very low profile on the Git mailing list, too). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This is the recommended way on GitHub to describe policies revolving around security issues and about supported versions. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
…dvice clean: suggest using `core.longPaths` if paths are too long to remove
This was pull request git-for-windows#1645 from ZCube/master Support windows container. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
…ws#4527) With this patch, Git for Windows works as intended on mounted APFS volumes (where renaming read-only files would fail). Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Specify symlink type in .gitattributes
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This patch introduces support to set special NTFS attributes that are interpreted by the Windows Subsystem for Linux as file mode bits, UID and GID. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Handle Ctrl+C in Git Bash nicely Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Switch to batched fsync by default
A fix for calling `vim` in Windows Terminal caused a regression and was reverted. We partially un-revert this, to get the fix again. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This topic branch re-adds the deprecated --stdin/-z options to `git reset`. Those patches were overridden by a different set of options in the upstream Git project before we could propose `--stdin`. We offered this in MinGit to applications that wanted a safer way to pass lots of pathspecs to Git, and these applications will need to be adjusted. Instead of `--stdin`, `--pathspec-from-file=-` should be used, and instead of `-z`, `--pathspec-file-nul`. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Originally introduced as `core.useBuiltinFSMonitor` in Git for Windows and developed, improved and stabilized there, the built-in FSMonitor only made it into upstream Git (after unnecessarily long hemming and hawing and throwing overly perfectionist style review sticks into the spokes) as `core.fsmonitor = true`. In Git for Windows, with this topic branch, we re-introduce the now-obsolete config setting, with warnings suggesting to existing users how to switch to the new config setting, with the intention to ultimately drop the patch at some stage. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
…updates Start monitoring updates of Git for Windows' component in the open
Add a README.md for GitHub goodness. Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
/git-artifacts The The |
/release The |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Range-diff relative to main
1: eb7ae2c = 1: b85851b gitk(Windows): avoid inadvertently calling executables in the worktree
2: 8ec1763 = 2: e300ee0 t9350: point out that refs are not updated correctly
3: b23a328 = 3: 4c2bec3 transport-helper: add trailing --
4: ed0a844 = 4: 4773f56 remote-helper: check helper status after import/export
5: 795df89 = 5: 1beb2a0 mingw: demonstrate a problem with certain absolute paths
8: 4df7f74 = 6: 5bc0a87 Always auto-gc after calling a fast-import transport
7: d356b85 = 7: 6ed6c40 mingw: include the Python parts in the build
11: 713527b = 8: 9b84468 win32/pthread: avoid name clashes with winpthread
6: cf13025 = 9: 3c8a4f9 clean: do not traverse mount points
12: 3d44f17 = 10: 1437592 git-compat-util: avoid redeclaring _DEFAULT_SOURCE
9: 868992b = 11: b4584a1 mingw: allow absolute paths without drive prefix
10: d7814f9 = 12: 92d9ad7 clean: remove mount points when possible
13: 349f777 = 13: 4edc85e Import the source code of mimalloc v2.1.2
14: e206f41 = 14: db92376 mimalloc: adjust for building inside Git
15: f2ddbf3 = 15: b117900 mimalloc: offer a build-time option to enable it
16: d31fba5 = 16: f32c013 mimalloc: use "weak" random seed when statically linked
17: 9ce9df3 = 17: dc533b3 mingw: use mimalloc
18: 24eeb18 = 18: 97286b5 transport: optionally disable side-band-64k
19: 6a694f1 = 19: 8e70da5 mingw: make sure
errno
is set correctly when socket operations fail20: c649490 = 20: a3f4269 mingw: do resolve symlinks in
getcwd()
21: 76dc36c = 21: cae8b70 mingw: fix fatal error working on mapped network drives on Windows
27: e53cde2 = 22: 08745e0 clink.pl: fix MSVC compile script to handle libcurl-d.lib
22: bab3249 = 23: e3d760a mingw: ensure valid CTYPE
23: 0110f9a = 24: 1376236 mingw: demonstrate a
git add
issue with NTFS junctions24: 3560b11 = 25: a59f329 mingw: allow
git.exe
to be used instead of the "Git wrapper"25: 9ada5de = 26: 84eeb35 strbuf_realpath(): use platform-dependent API if available
26: 1ccff87 = 27: a9495cf mingw: ignore HOMEDRIVE/HOMEPATH if it points to Windows' system directory
28: 470a863 = 28: f73d1cc mingw: implement a platform-specific
strbuf_realpath()
29: 99dfbb5 = 29: cb1934b vcxproj: unclash project directories with build outputs
30: 4e42bbc = 30: 2adbc19 t5505/t5516: allow running without
.git/branches/
in the templates31: 1764571 = 31: 933ca80 t5505/t5516: fix white-space around redirectors
32: 8617793 = 32: 34e850d http: use new "best effort" strategy for Secure Channel revoke checking
33: b432525 = 33: 6a80a39 t3701: verify that we can add lots of files interactively
34: ff98b84 = 34: 49dc042 git add -i: handle CR/LF line endings in the interactive input
35: c80db0f = 35: a43a6d9 commit: accept "scissors" with CR/LF line endings
39: d9819aa = 36: 8910fa9 t0014: fix indentation
40: 12ec6cb = 37: 9a6441e git-gui: accommodate for intent-to-add files
36: d339319 = 38: a4f2b12 clink.pl: fix libexpatd.lib link error when using MSVC
37: 6701301 = 39: 4922bcc Makefile: clean up .ilk files when MSVC=1
38: e759b02 = 40: b521997 vcbuild: add support for compiling Windows resource files
41: bc19814 = 41: 2235fbb config.mak.uname: add git.rc to MSVC builds
42: 96d5def = 42: 4642b42 clink.pl: ignore no-stack-protector arg on MSVC=1 builds
43: 38be606 = 43: 048ccb3 clink.pl: move default linker options for MSVC=1 builds
44: acf87e9 = 44: 35c0d18 buildsystems: remove duplicate clause
45: f9b959b = 45: 31e3ed7 vcxproj: handle resource files, too
46: 9ad52f9 = 46: 19e9453 vcxproj: ignore -fno-stack-protector and -fno-common
48: e48e360 = 47: ff5b0c7 vcxproj: handle GUI programs, too
47: e447a1e = 48: eacd5f8 vcpkg_install: detect lack of Git
49: 8f19423 = 49: e2e2712 vcpkg_install: add comment regarding slow network connections
51: b07c00c = 50: 0b4976d vcxproj: support building Windows/ARM64 binaries
52: d609b85 = 51: b766f3a vcbuild: install ARM64 dependencies when building ARM64 binaries
53: 4c84da2 = 52: 1810941 vcbuild: add an option to install individual 'features'
54: 8b7fdd9 = 53: b58fc39 cmake: allow building for Windows/ARM64
50: e657e64 = 54: 8d04743 cmake: install headless-git.
55: a447767 ! 55: 736513d ci(vs-build) also build Windows/ARM64 artifacts
56: f7954f5 = 56: dfc7f14 Add schannel to curl installation
57: d762b9d = 57: cd7caf5 cmake(): allow setting HOST_CPU for cross-compilation
58: 05eba36 = 58: 5f98f73 ci(vs-build): download the vcpkg artifacts using a dedicated Action
59: 1c9a318 = 59: de0ecc6 mingw: allow for longer paths in
parse_interpreter()
61: 95f0b13 = 60: ae60138 compat/vcbuild: document preferred way to build in Visual Studio
64: 3710340 = 61: f0cadf3 CMake: default Visual Studio generator has changed
65: b23eb9f = 62: c7ae216 .gitignore: add Visual Studio CMakeSetting.json file
60: c855be1 = 63: 567e802 subtree: update
contrib/subtree
test
target66: 809634c = 64: 1582f5f CMakeLists: add default "x64-windows" arch for Visual Studio
62: 7aaa6dc = 65: 7ffc93a http: optionally send SSL client certificate
63: 065c692 = 66: f60c5eb ci: run
contrib/subtree
tests in CI builds67: 414841d = 67: a07e77c CMake: show Win32 and Generator_platform build-option values
68: 1667cfc = 68: 3887dd8 init: do parse all core.* settings early
69: 66dc4f6 ! 69: d6a9e8d Enable the built-in FSMonitor as an experimental feature
70: 68bb0cc = 70: 236135f hash-object: demonstrate a >4GB/LLP64 problem
71: 254707b = 71: 54e9259 write_object_file_literally(): use size_t
72: 0b4a921 = 72: 516c829 object-file.c: use size_t for header lengths
73: a7172a5 = 73: f3220f4 hash algorithms: use size_t for section lengths
74: bd50e8c = 74: 3353257 hash-object --stdin: verify that it works with >4GB/LLP64
75: c752b1d = 75: 1edb627 hash-object: add another >4GB/LLP64 test case
76: 8beb33a = 76: 407d577 setup: properly use "%(prefix)/" when in WSL
77: adfa9af = 77: e5bcb59 hash-object: add a >4GB/LLP64 test case using filtered input
81: 4194acd = 78: e966001 Add config option
windows.appendAtomically
78: 4d5f6bc = 79: 122b221 compat/mingw.c: do not warn when failing to get owner
79: 09b582e = 80: 80220c7 mingw: $env:TERM="xterm-256color" for newer OSes
80: ee67164 = 81: becda22 winansi: check result and Buffer before using Name
87: 6af63c9 = 82: 3751282 mingw: change core.fsyncObjectFiles = 1 by default
82: 4dd1012 = 83: dae381f vcxproj: allow building with
NO_PERL
again83: 75b29d5 = 84: 16b0f2b vcxproj: require C11
84: 5f42f98 = 85: e143213 vcxproj: ignore the
-pedantic
option85: b1dce61 = 86: aec6131 vcxproj: include reftable when committing
.vcxproj
files86: 1398194 = 87: d4ee719 vcxproj: handle libreftable_test, too
88: bdda4a9 = 88: 46bf8d4 vcxproj: avoid escaping double quotes in the defines
89: 9356e8a = 89: a87c891 ci: adjust Azure Pipeline for
runs_on_pool
90: e5e3418 = 90: e601a63 ci: stop linking the
prove
cache91: bf1de07 = 91: 8950ff3 ci: reinstate Azure Pipelines support
92: 9f2a988 = 92: c6f2362 azure-pipeline: drop the
GETTEXT_POISON
job93: 90d5aa1 = 93: 21036e5 azure-pipeline: stop hard-coding
apt-get
calls94: 2efc682 = 94: 2ee6500 azure-pipeline: drop the code to write to/read from a file share
95: f02cef7 = 95: de3fc61 azure-pipeline: use partial clone/parallel checkout to initialize minimal-sdk
96: f89636b = 96: c4a2691 azure-pipeline: downcase the job name of the
Linux32
job98: fc4ba85 = 97: e570cb6 bswap.h: add support for built-in bswap functions
97: 4d7fc2f = 98: 1977b0d MinGW: link as terminal server aware
99: e7164df = 99: 398e99b azure-pipeline: run static-analysis on jammy
100: 0d4081b = 100: 793a4aa Fix Windows version resources
118: af7ae49 = 101: d5a0c15 config.mak.uname: add support for clangarm64
101: 8c72ab3 = 102: 456b684 http: optionally load libcurl lazily
119: 2849c15 = 103: 38db021 ci: create clangarm64-build.yml
104: d48d4a1 = 104: 1a15f97 status: fix for old-style submodules with commondir
105: 575360d = 105: a7f5766 windows: skip linking
git-<command>
for built-ins106: 758eb76 = 106: a0a0f81 windows: fix Repository>Explore Working Copy
102: 359804e = 107: afdf1c3 http: support lazy-loading libcurl also on Windows
103: df832a2 = 108: db80eab http: when loading libcurl lazily, allow for multiple SSL backends
107: 5f391ca = 109: a6c0451 mingw: do load libcurl dynamically by default
120: a8f4b84 = 110: 653444f Add a GitHub workflow to verify that Git/Scalar work in Nano Server
108: f8c5c67 = 111: 598d670 mingw: suggest
windows.appendAtomically
in more cases109: ad1a318 = 112: 87137c3 win32: use native ANSI sequence processing, if possible
110: c6e18ad = 113: 9bd36bc git.rc: include winuser.h
113: 742b547 = 114: 1f57497 build(deps): bump mshick/add-pr-comment from 1 to 2
114: b3ee228 = 115: ec2d8db build(deps): bump actions/setup-go from 2 to 5
239: 49981fa ! 116: 82d6f85 build(deps): bump microsoft/setup-msbuild from 1 to 2
121: 4619239 = 117: 1fc651a Win32: make FILETIME conversion functions public
122: b8f812c = 118: 7392f0b Win32: dirent.c: Move opendir down
123: 73027ed = 119: 50ca74a mingw: make the dirent implementation pluggable
124: 32d5356 = 120: 029bfbb Win32: make the lstat implementation pluggable
125: abb83bc = 121: ddad2ed mingw: add infrastructure for read-only file system level caches
126: bc9194e = 122: a708aac mingw: add a cache below mingw's lstat and dirent implementations
127: 2b2895f = 123: b2aa80a fscache: load directories only once
128: 8a0b4db = 124: 78eaedc fscache: add key for GIT_TRACE_FSCACHE
129: d6d8974 = 125: 0fa5fc2 fscache: remember not-found directories
130: 8dbd532 = 126: 843f261 fscache: add a test for the dir-not-found optimization
131: 8650575 = 127: b935fb6 add: use preload-index and fscache for performance
132: ae4b42e = 128: 52e5303 dir.c: make add_excludes aware of fscache during status
133: 6a2343d = 129: 3f51586 fscache: make fscache_enabled() public
134: c1585e2 = 130: c9e4f54 dir.c: regression fix for add_excludes with fscache
135: 717aa9a = 131: d7a8910 fetch-pack.c: enable fscache for stats under .git/objects
136: 058b1ac = 132: c28e607 checkout.c: enable fscache for checkout again
137: 556779e = 133: bbd50d0 Enable the filesystem cache (fscache) in refresh_index().
138: 8985e6d = 134: c177751 fscache: use FindFirstFileExW to avoid retrieving the short name
139: c0e9478 = 135: 56b5f03 status: disable and free fscache at the end of the status command
140: 0f9047d = 136: 56d493e fscache: add GIT_TEST_FSCACHE support
141: 601a472 = 137: 6453004 fscache: add fscache hit statistics
142: 5242cc1 = 138: f66b44d mem_pool: add GIT_TRACE_MEMPOOL support
143: 217332c = 139: 3f6d11b fscache: fscache takes an initial size
144: 87a49f2 = 140: e4fa72c fscache: update fscache to be thread specific instead of global
145: d2d53d5 = 141: aa996e0 fscache: teach fscache to use mempool
146: 80126ad = 142: 049d093 fscache: make fscache_enable() thread safe
147: ae387da = 143: 6e11a86 fscache: teach fscache to use NtQueryDirectoryFile
148: 4d2d6ae = 144: 487504c unpack-trees: enable fscache for sparse-checkout
149: a1ff8e8 = 145: 4cb1b2b fscache: remember the reparse tag for each entry
150: 7f6d364 = 146: 565c51c fscache: implement an FSCache-aware is_mount_point()
156: c377509 = 147: 02af368 clean: make use of FSCache
151: 4b1b1b2 = 148: 1e5089b git-gui: provide question helper for retry fallback on Windows
152: 78e1b53 = 149: b6bd666 git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
153: b15d3d9 = 150: 3c2ef68 git-gui--askyesno: fix funny text wrapping
154: aedb111 = 151: 4515dcd git-gui--askyesno: allow overriding the window title
157: b78ed88 = 152: 081cd82 gitk: Unicode file name support
155: 35800e6 = 153: d812052 git-gui--askyesno (mingw): use Git for Windows' icon, if available
158: 0fac83d = 154: 08088d4 gitk: Use an external icon file on Windows
159: c93db98 = 155: 631e5e1 gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
160: f74888f = 156: 67f2b2a gitk: make the "list references" default window width wider
161: e9683b8 = 157: 2d3e5bd pack-objects (mingw): demonstrate a segmentation fault with large deltas
162: c4f7e1e = 158: 3d97521 mingw: support long paths
163: 32624bb = 159: 2938bf5 Win32: fix 'lstat("dir/")' with long paths
164: 1b6d157 = 160: 835aab1 win32(long path support): leave drive-less absolute paths intact
167: 7b3ecaa = 161: d3f9f35 mingw: Support
git_terminal_prompt
with more terminals165: c020f14 = 162: 7a2bc38 compat/fsmonitor/fsm-*-win32: support long paths
166: 9c161b1 = 163: 91db5cd clean: suggest using
core.longPaths
if paths are too long to remove168: d4a2b56 = 164: 88898ca compat/terminal.c: only use the Windows console if bash 'read -r' fails
169: 83d310a = 165: fae9178 mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
170: fede48b = 166: e19ba9b Unbreak interactive GPG prompt upon signing
171: 34a933a = 167: 64f1993 strbuf_readlink: don't call readlink twice if hint is the exact link size
172: 42cf85d = 168: ff3bcfe strbuf_readlink: support link targets that exceed PATH_MAX
173: fa1bf38 = 169: 9eedc45 lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
174: 6f1a739 = 170: 02fcad4 Win32: don't call GetFileAttributes twice in mingw_lstat()
175: dada6d0 = 171: 9a0406c Win32: implement stat() with symlink support
176: 2a2665c = 172: ebb4cbd Win32: remove separate do_lstat() function
177: 996eb09 = 173: ca4eb31 Win32: let mingw_lstat() error early upon problems with reparse points
178: 185b204 = 174: 1f0dd07 mingw: teach fscache and dirent about symlinks
179: 113ca09 = 175: 293d18a Win32: lstat(): return adequate stat.st_size for symlinks
180: 534a752 = 176: d9a2b0c Win32: factor out retry logic
181: 179020e = 177: a0ded62 Win32: change default of 'core.symlinks' to false
182: 1d95e40 = 178: 81dd006 Win32: add symlink-specific error codes
183: 3148b50 = 179: 2d56f47 Win32: mingw_unlink: support symlinks to directories
184: 4491333 = 180: 3495257 Win32: mingw_rename: support renaming symlinks
185: 2a19c8e = 181: 0f4229a Win32: mingw_chdir: change to symlink-resolved directory
186: 977b781 = 182: 83b9eea Win32: implement readlink()
187: fccf215 = 183: 41f21df mingw: lstat: compute correct size for symlinks
188: 18ca6d4 = 184: 8a9711d Win32: implement basic symlink() functionality (file symlinks only)
189: aceda06 = 185: a57efa6 Win32: symlink: add support for symlinks to directories
190: a6b014c = 186: 4a23132 mingw: try to create symlinks without elevated permissions
191: 1dc87ff = 187: a02e6a7 mingw: emulate stat() a little more faithfully
192: b24bb5c = 188: 80afdbd mingw: special-case index entries for symlinks with buggy size
193: 8f4dae0 = 189: be19594 mingw: introduce code to detect whether we're inside a Windows container
194: b13757e = 190: 33d504e mingw: when running in a Windows container, try to rename() harder
196: 2852c4e = 191: cf77157 mingw: move the file_attr_to_st_mode() function definition
195: 7c0eb61 = 192: d954fc6 Win32: symlink: move phantom symlink creation to a separate function
197: c6fd0ea = 193: 1882c46 Introduce helper to create symlinks that knows about index_state
199: 3b56754 = 194: a28a0f8 mingw: allow to specify the symlink type in .gitattributes
198: 3d21db0 = 195: b0068a2 mingw: Windows Docker volumes are not symbolic links
201: 4a500ff = 196: 2648083 Win32: symlink: add test for
symlink
attribute200: 8732850 = 197: 1309f48 mingw: work around rename() failing on a read-only file
202: 3f4790b = 198: 64c8e89 mingw: explicitly specify with which cmd to prefix the cmdline
203: ab039e9 = 199: d183f32 mingw: when path_lookup() failed, try BusyBox
204: 35e7204 = 200: e046af6 test-lib: avoid unnecessary Perl invocation
205: 9dd0520 = 201: c13d5f0 test-tool: learn to act as a drop-in replacement for
iconv
206: ee66969 = 202: 8d6a91e tests(mingw): if
iconv
is unavailable, usetest-helper --iconv
207: 6cfa349 = 203: 39deb53 gitattributes: mark .png files as binary
208: f941f55 = 204: 1b12d2e tests: move test PNGs into t/lib-diff/
209: 6bf2469 = 205: f69fa03 tests: only override sort & find if there are usable ones in /usr/bin/
210: 4a15dc6 = 206: c619329 tests: use the correct path separator with BusyBox
211: 9b21147 = 207: 1f509e7 mingw: only use Bash-ism
builtin pwd -W
when available212: 1432f3b = 208: 67acbe8 tests (mingw): remove Bash-specific pwd option
213: ee9645f = 209: a18a0f8 test-lib: add BUSYBOX prerequisite
214: 32f116d = 210: 6b2142b t5003: use binary file from t/lib-diff/
215: 27e1ff9 = 211: 6e490c1 t5532: workaround for BusyBox on Windows
216: 388ddea = 212: d4287d2 t5605: special-case hardlink test for BusyBox-w32
217: 4135380 = 213: 15b88e7 t5813: allow for $PWD to be a Windows path
218: 4e1c3ca = 214: 891b29f t9200: skip tests when $PWD contains a colon
219: 58dfc2b = 215: f8c17f3 mingw: add a Makefile target to copy test artifacts
220: 8a79bc2 = 216: 4a2ec98 mingw: kill child processes in a gentler way
221: b29a9ac = 217: d5e2881 mingw: optionally enable wsl compability file mode bits
222: 57cc6f2 = 218: 5aa9ec7 mingw: really handle SIGINT
223: f95abb6 = 219: 875251f mingw: do not call xutftowcs_path in mingw_mktemp
224: 1606d61 = 220: fe47e09 Partially un-revert "editor: save and reset terminal after calling EDITOR"
225: 052add7 = 221: 576d1c3 reset: reinstate support for the deprecated --stdin option
226: 6fc41b6 = 222: 315f0ea fsmonitor: reintroduce core.useBuiltinFSMonitor
227: 7db097f = 223: b0702ab Describe Git for Windows' architecture [no ci]
229: 666c595 = 224: 04e2a52 Modify the Code of Conduct for Git for Windows
230: 8d8b80e = 225: 213f046 CONTRIBUTING.md: add guide for first-time contributors
231: 80818bc = 226: 2bc7f44 README.md: Add a Windows-specific preamble
232: 2be1a7b = 227: 76c1e92 Add an issue template
228: 7a503f1 = 228: 2cec329 Add a GitHub workflow to monitor component updates
233: 08ec415 ! 229: c3d7282 Modify the GitHub Pull Request template (to reflect Git for Windows)
111: dc95f4d = 230: 9e7f27a dependabot: help keeping GitHub Actions versions up to date
112: 9471bc6 < -: ------------ build(deps): bump actions/cache from 3 to 4
115: ac09146 < -: ------------ build(deps): bump actions/download-artifact from 3 to 4
116: 8d2729e (upstream: 820a340) < -: ------------ ci: bump actions/upload-artifact to v4
117: dd75561 (upstream: e94dec0) < -: ------------ build(deps): bump actions/checkout from 3 to 4
234: f9944c3 = 231: e01cfab .github: Add configuration for the Sentiment Bot
235: 4d421e5 = 232: 4ac6362 Document how $HOME is set on Windows
236: a5db93a = 233: 3fb190d SECURITY.md: document Git for Windows' policies
237: ffbfa3b < -: ------------ build(deps): bump actions/checkout from 1 to 4
238: 50bb273 (upstream: c4ddbe0) < -: ------------ build(deps): bump actions/github-script from 6 to 7