-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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.48.0 rc1 #5337
Rebase to v2.48.0 rc1 #5337
Conversation
This topic branch extends the protections introduced for Git GUI's CVE-2022-41953 to cover `gitk`, too. Signed-off-by: Johannes Schindelin <[email protected]>
These fixes were necessary for Sverre Rabbelier's remote-hg to work, but for some magic reason they are not necessary for the current remote-hg. Makes you wonder how that one gets away with it. Signed-off-by: Johannes Schindelin <[email protected]>
This topic branch allows us to specify absolute paths without the drive prefix e.g. when cloning. Example: C:\Users\me> git clone https://github.com/git/git \upstream-git This will clone into a new directory C:\upstream-git, in line with how Windows interprets absolute paths. Signed-off-by: Johannes Schindelin <[email protected]>
Git LFS is now built with Go 1.21 which no longer supports Windows 7. However, Git for Windows still wants to support Windows 7. Ideally, Git LFS would re-introduce Windows 7 support until Git for Windows drops support for Windows 7, but that's not going to happen: git-for-windows#4996 (comment) The next best thing we can do is to let the users know what is happening, and how to get out of their fix, at least. This is not quite as easy as it would first seem because programs compiled with Go 1.21 or newer will simply throw an exception and fail with an Access Violation on Windows 7. The only way I found to address this is to replicate the logic from Go's very own `version` command (which can determine the Go version with which a given executable was built) to detect the situation, and in that case offer a helpful error message. This addresses git-for-windows#4996. Signed-off-by: Johannes Schindelin <[email protected]>
a0dce28
to
33b68f2
Compare
Due to Range-diff relative to previously range-diff'ed PR branch
|
It seems to be not exactly rare on Windows to install NTFS junction points (the equivalent of "bind mounts" on Linux/Unix) in worktrees, e.g. to map some development tools into a subdirectory. In such a scenario, it is pretty horrible if `git clean -dfx` traverses into the mapped directory and starts to "clean up". Let's just not do that. Let's make sure before we traverse into a directory that it is not a mount point (or junction). This addresses git-for-windows#607 Signed-off-by: Johannes Schindelin <[email protected]>
Windows' equivalent to "bind mounts", NTFS junction points, can be unlinked without affecting the mount target. This is clearly what users expect to happen when they call `git clean -dfx` in a worktree that contains NTFS junction points: the junction should be removed, and the target directory of said junction should be left alone (unless it is inside the worktree). Signed-off-by: Johannes Schindelin <[email protected]>
This topic branch teaches `git clean` to respect NTFS junctions and Unix bind mounts: it will now stop at those boundaries. Signed-off-by: Johannes Schindelin <[email protected]>
In MSYS2, we have two Python interpreters at our disposal, so we can include the Python stuff in the build. Signed-off-by: Johannes Schindelin <[email protected]>
This topic vendors in mimalloc v2.0.9, a fast allocator that allows Git for Windows to perform efficiently. Switch Git for Windows to using mimalloc instead of nedmalloc
…eband-config Config option to disable side-band-64k for transport
Make sure `errno` is set when socket operations fail
…ymlinks Do resolve symlinks in `getcwd()`
mingw: fix fatal error working on mapped network drives on Windows
…g-curl clink.pl: fix MSVC compile script to handle libcurl-d.lib
…nction Handle `git add <file>` where <file> traverses an NTFS junction
Allow running Git directly from `C:\Program Files\Git\mingw64\bin\git.exe`
…st-effort Introduce and use the new "best effort" strategy for Secure Channel revoke checking
…-in-vs/master ci: avoid d/f conflict in vs/master
This topic branch allows `add -p` and `add -i` with a large number of files. It is kind of a hack that was never really meant to be upstreamed. Let's see if we can do better in the built-in `add -p`. Signed-off-by: Johannes Schindelin <[email protected]>
git add -i: handle CR/LF line endings in the interactive input
Rationalize line endings for scissors-cleanup
…xtra_info t/t0014: fix: eliminate additional lines from trace
This merges the current version of the patch that tries to address Git GUI's problems with intent-to-add files. This patch will likely be improved substantially before it is merged into Git GUI's main branch, but we want to have _something_ resembling a fix already in Git for Windows v2.29.0. Signed-off-by: Johannes Schindelin <[email protected]>
…e-and-headless Include Windows-specific maintenance and headless-git
Even if CMake is not the canonical way to build Git for Windows, but CMake support merely exists in Git to support building Git for Windows using Visual Studio, we should include `headless-git` in such a scenario when installing the binaries to a given location.
…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 <[email protected]>
Specify symlink type in .gitattributes
Signed-off-by: Johannes Schindelin <[email protected]>
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 <[email protected]>
Handle Ctrl+C in Git Bash nicely Signed-off-by: Johannes Schindelin <[email protected]>
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 <[email protected]>
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 <[email protected]>
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 <[email protected]>
…updates Start monitoring updates of Git for Windows' component in the open
Add a README.md for GitHub goodness. Signed-off-by: Johannes Schindelin <[email protected]>
aceb01b
to
5d54b0d
Compare
I won't even say more than "ps/ci-meson"... Range-diff relative to the previously range-diff'ed PR branch
|
/git-artifacts The The |
All the version check code in git-gui is ancient. https://github.com/git/git/blame/master/git-gui/git-gui.sh#L964-L1056 Maybe this? |
The gitk version check code is ancient aswell |
Did the output of a plain |
@rimrul you're right, it's neither
Notice the |
My money is on 992bc56. |
And that wild guess turned out to be spot on: |
And I think I found the review that caused this new behaviour: |
In the course of testing Git for Windows v2.48.0-rc1 before releasing the artifacts, I noticed a rather big regression in Git GUI/gitk: git-for-windows/git#5337 (comment) Essentially, they both complained about incompatible Git versions. The culprit is not in Git GUI nor in gitk, though, it is in Git's 992bc5618f2 (GIT-VERSION-GEN: fix overriding GIT_VERSION, 2024-12-20). As of that revision, Git's build will now respect the environment variable `GIT_VERSION` and use it verbatim. In Git for Windows' automation, we have defined that environment variable for ages, and it is not in the form that `git version` is supposed to be: The latter should output a version that does _not_ start with a `v` and does not include dashes either (replacing any `-` by `.` in the build process). This broke Git for Windows v2.48.0-rc1, and we have to adapt the automation. We did this in git-for-windows/MINGW-packages@56d5c67af (git: force-fully ignore the environment variable `GIT_VERSION`, 2024-12-31). To make this take effect in a rebuild of the Git for Windows artifacts, we have to ignore the previously-cached packages (where `git version` would still output `git version v2.48.0-rc1.windows.1` instead of the desired `git version 2.48.0.rc1.windows.1`). We do that by using a special cache key for that Git version. Signed-off-by: Johannes Schindelin <[email protected]>
(Hopefully) fixed via git-for-windows/MINGW-packages@56d5c67 and git-for-windows/git-for-windows-automation@6224fe2, then manually triggering the |
|
I noticed that the release notes still claim that MSYS2 runtime is at v3.5.5, but I do not want to spend the time to go through the entire release process again: I want to have a vacation, and it's only -rc1 anyway (and most of the people who would test -rc1 are probably wiser than me and simply turned off their notifications so that their vacation isn't kaput). So I'll just release -rc1 as-is. |
/release The |
5d54b0d
into
git-for-windows:main
Range-diff relative to
1: f27e894 = 1: 11bb5b8 t9350: point out that refs are not updated correctly
2: 6291a9c ! 2: aec753c transport-helper: add trailing --
6: 972a8ce = 3: 31e1af5 remote-helper: check helper status after import/export
3: 246d452 = 4: 5a897de gitk(Windows): avoid inadvertently calling executables in the worktree
7: 9283464 = 5: 78f66b0 mingw: demonstrate a problem with certain absolute paths
8: 9daf220 = 6: e087898 clean: do not traverse mount points
10: cc54629 = 7: df3998b Always auto-gc after calling a fast-import transport
11: abbe69b = 8: 87d4cfb mingw: allow absolute paths without drive prefix
12: 4249561 = 9: 45e8ddb clean: remove mount points when possible
4: 928b74b = 10: 3cc3ffa mingw: include the Python parts in the build
5: e2d63e5 = 11: 3f1a73b win32/pthread: avoid name clashes with winpthread
9: 850335d ! 12: 3f05b3b git-compat-util: avoid redeclaring _DEFAULT_SOURCE
13: bead1b4 = 13: 560d0d4 Import the source code of mimalloc v2.1.2
14: 2e49e8e = 14: 6dd92ca mimalloc: adjust for building inside Git
15: 3f61f35 = 15: febf841 mimalloc: offer a build-time option to enable it
16: 2df9f24 = 16: 4528095 mimalloc: use "weak" random seed when statically linked
17: f5dee0a = 17: f458355 mingw: use mimalloc
24: 051ad0c = 18: 9d275a0 mingw: demonstrate a
git add
issue with NTFS junctions26: 666ddb0 = 19: 31f58e3 strbuf_realpath(): use platform-dependent API if available
18: f1ed354 = 20: f3e2ad9 transport: optionally disable side-band-64k
19: bb909a6 = 21: a2b1b49 mingw: make sure
errno
is set correctly when socket operations fail20: 5069cbb = 22: 13b040d mingw: do resolve symlinks in
getcwd()
21: 7877c44 = 23: 3272ab0 mingw: fix fatal error working on mapped network drives on Windows
22: 26ef7f2 = 24: 3acd06a clink.pl: fix MSVC compile script to handle libcurl-d.lib
28: 464879f = 25: 222babc mingw: implement a platform-specific
strbuf_realpath()
23: 02fd6ac = 26: d0e2fb9 mingw: ensure valid CTYPE
25: cbda9e7 = 27: 0b5dd6d mingw: allow
git.exe
to be used instead of the "Git wrapper"27: b410471 = 28: ac16fde mingw: ignore HOMEDRIVE/HOMEPATH if it points to Windows' system directory
29: a62c776 = 29: efa8463 http: use new "best effort" strategy for Secure Channel revoke checking
30: de8e303 = 30: 10731e4 vcxproj: unclash project directories with build outputs
31: 6995f48 = 31: a6ba317 t5505/t5516: allow running without
.git/branches/
in the templates32: 4860eaa = 32: 41c294e t5505/t5516: fix white-space around redirectors
33: 303c42b = 33: ff5a4db t3701: verify that we can add lots of files interactively
37: adbffc0 = 34: 184a4ba clink.pl: fix libexpatd.lib link error when using MSVC
38: 5ebaabe = 35: eda3ac0 Makefile: clean up .ilk files when MSVC=1
40: 3786942 = 36: 87fe2b9 vcbuild: add support for compiling Windows resource files
41: def6b2c = 37: 0853341 config.mak.uname: add git.rc to MSVC builds
42: 9855a1a = 38: b47a343 clink.pl: ignore no-stack-protector arg on MSVC=1 builds
34: 2a12948 = 39: e4243ee git add -i: handle CR/LF line endings in the interactive input
35: 47a4dc2 = 40: fffb68b commit: accept "scissors" with CR/LF line endings
36: 7068e74 = 41: 9f96f7a t0014: fix indentation
39: 9cfb8af = 42: 1379467 git-gui: accommodate for intent-to-add files
49: 767ea7a = 43: 342ac02 vcpkg_install: detect lack of Git
50: 797b057 = 44: b4879d1 vcpkg_install: add comment regarding slow network connections
43: 1be2e98 = 45: f15d9a4 clink.pl: move default linker options for MSVC=1 builds
51: 7a890c8 = 46: 040d62c vcxproj: support building Windows/ARM64 binaries
44: adb6516 = 47: a9494c8 buildsystems: remove duplicate clause
52: c6e7e04 = 48: eec15e9 vcbuild: install ARM64 dependencies when building ARM64 binaries
45: 0ce0360 = 49: df922fa vcxproj: handle resource files, too
53: 42a4de8 = 50: b76a3ad vcbuild: add an option to install individual 'features'
46: cd4fa54 = 51: c073149 vcxproj: ignore -fno-stack-protector and -fno-common
54: b5253ed ! 52: 48ecb20 cmake: allow building for Windows/ARM64
47: 47e926f = 53: 3f2bc24 vcxproj: handle GUI programs, too
55: 3fe9617 = 54: 7eb63e5 ci(vs-build) also build Windows/ARM64 artifacts
48: 48d634b = 55: 297e258 cmake: install headless-git.
56: 7229e6b = 56: d4c2eb0 Add schannel to curl installation
57: b08ceed = 57: cc998a1 cmake(): allow setting HOST_CPU for cross-compilation
62: c6617dc = 58: 60e1f22 subtree: update
contrib/subtree
test
target58: 3605e9e = 59: 84ade65 mingw: allow for longer paths in
parse_interpreter()
59: 80f8927 = 60: c20d25f compat/vcbuild: document preferred way to build in Visual Studio
60: eb5a4c2 = 61: caa497b http: optionally send SSL client certificate
64: 93cc63e ! 62: ef3864e ci: run
contrib/subtree
tests in CI builds61: 8d08b04 = 63: da9353e CMake: default Visual Studio generator has changed
63: 243de9a = 64: d02506e .gitignore: add Visual Studio CMakeSetting.json file
70: a4f9942 = 65: 217c404 CMakeLists: add default "x64-windows" arch for Visual Studio
73: 007aa44 = 66: 4659ca0 CMake: show Win32 and Generator_platform build-option values
65: be7a83b = 67: 7064474 hash-object: demonstrate a >4GB/LLP64 problem
66: 5e385ee = 68: cc41ae7 write_object_file_literally(): use size_t
67: 7763825 = 69: d356a95 object-file.c: use size_t for header lengths
68: c40cce2 = 70: 3a7bad3 hash algorithms: use size_t for section lengths
69: 0266868 = 71: e712f83 hash-object --stdin: verify that it works with >4GB/LLP64
71: 04f3f52 = 72: 93c471b hash-object: add another >4GB/LLP64 test case
72: 393cd05 = 73: 3806fdc setup: properly use "%(prefix)/" when in WSL
74: fdb6e11 = 74: 4995368 init: do parse all core.* settings early
75: e876d15 = 75: a6eb082 hash-object: add a >4GB/LLP64 test case using filtered input
77: 8523711 = 76: d750ec6 vcxproj: allow building with
NO_PERL
again78: 4163c01 = 77: 5735c9f vcxproj: require C11
79: 2abe6f3 = 78: 0c544f2 vcxproj: ignore the
-pedantic
option83: 3b721e8 = 79: a966265 Add config option
windows.appendAtomically
80: 53fcfbb = 80: a743fb7 vcxproj: include reftable when committing
.vcxproj
files76: 4f50a50 = 81: 6ee1f62 compat/mingw.c: do not warn when failing to get owner
85: c0b742a = 82: bd7b567 mingw: $env:TERM="xterm-256color" for newer OSes
86: c2c7e03 = 83: 267c656 winansi: check result and Buffer before using Name
87: 2423212 = 84: a27122f mingw: change core.fsyncObjectFiles = 1 by default
81: 80291a1 = 85: 4473e64 vcxproj: handle libreftable_test, too
82: f75ac66 = 86: d4953f3 vcxproj: avoid escaping double quotes in the defines
84: 60f3569 = 87: d8215b9 ci: adjust Azure Pipeline for
runs_on_pool
88: f7fcdfe = 88: 6be0928 ci: stop linking the
prove
cache89: 6678438 = 89: 697c1b9 ci: reinstate Azure Pipelines support
90: 96657e2 = 90: 928a978 azure-pipeline: drop the
GETTEXT_POISON
job91: a9af8be = 91: f450aab azure-pipeline: stop hard-coding
apt-get
calls92: 5cd8498 = 92: 35109d2 azure-pipeline: drop the code to write to/read from a file share
93: e1bd570 = 93: 3c25d5b azure-pipeline: use partial clone/parallel checkout to initialize minimal-sdk
94: 60670ba = 94: e95207b azure-pipeline: downcase the job name of the
Linux32
job96: c879d01 = 95: 32fc08e azure-pipeline: run static-analysis on jammy
98: a98bbf6 = 96: 01511dc bswap.h: add support for built-in bswap functions
95: 77ded97 = 97: 0906557 MinGW: link as terminal server aware
97: 1acf162 = 98: 8752383 Fix Windows version resources
99: 3c78990 = 99: 10c9b97 config.mak.uname: add support for clangarm64
100: e351ec8 < -: ----------- ci: create clangarm64-build.yml
104: 1f5d6b2 = 100: a312f70 status: fix for old-style submodules with commondir
105: b3573d0 = 101: 0c6e6d7 windows: skip linking
git-<command>
for built-ins106: ef57b5e = 102: 2191bbd windows: fix Repository>Explore Working Copy
101: 7e9e7db = 103: a2e93ff http: optionally load libcurl lazily
102: b8bf94e = 104: 61872fb http: support lazy-loading libcurl also on Windows
103: 341c532 = 105: edb4af1 http: when loading libcurl lazily, allow for multiple SSL backends
107: 7347c83 = 106: 4733873 mingw: do load libcurl dynamically by default
108: 5792917 = 107: a13f595 Add a GitHub workflow to verify that Git/Scalar work in Nano Server
109: b367f70 = 108: 2f6d36e mingw: suggest
windows.appendAtomically
in more cases110: e79fd76 = 109: 6fa79c8 win32: use native ANSI sequence processing, if possible
112: ba44977 = 110: 70bfa98 git.rc: include winuser.h
111: 793e990 = 111: cef418d ci: work around a problem with HTTP/2 vs libcurl v8.10.0
118: 45712e6 = 112: 234f80e pack-objects: add --full-name-hash option
119: 8c1ada6 = 113: b0f1e44 repack: test --full-name-hash option
120: 1b4cbdd = 114: c85f4fd pack-objects: add GIT_TEST_FULL_NAME_HASH
121: 97ac379 = 115: 4875b99 git-repack: update usage to match docs
113: 43041db = 116: 2c5bf42 common-main.c: fflush stdout buffer upon exit
114: a657db8 = 117: 08fb43a t5601/t7406(mingw): do run tests with symlink support
115: 803664a ! 118: f3b8834 win32: ensure that
localtime_r()
is declared even in i686 builds116: facad06 = 119: a591f56 Fallback to AppData if XDG_CONFIG_HOME is unset
117: c084e11 = 120: 4d845df run-command: be helpful with Git LFS fails on Windows 7
122: ff70b3e = 121: e06da52 p5313: add size comparison test
123: e9e1bd0 = 122: 8d4f0c4 test-tool: add helper for name-hash values
124: d7f370c = 123: 4c46e3e repack/pack-objects: mark
--full-name-hash
as experimental125: dd1838d = 124: c9c2c66 path-walk: introduce an object walk by path
126: 00eb543 (upstream: b30404d) < -: ----------- mingw_rename: do support directory renames
127: 51143f5 = 125: ca36934 t6601: add helper for testing path-walk API
128: 1c48b5f = 126: 90d3afd path-walk: allow consumer to specify object types
129: f3372d6 = 127: eaeef4f path-walk: allow visiting tags
130: 332753b = 128: 978bec2 revision: create mark_trees_uninteresting_dense()
131: a928048 = 129: 443ce30 path-walk: add prune_all_uninteresting option
132: aec69e9 = 130: 1584676 pack-objects: extract should_attempt_deltas()
133: 1f0ee50 = 131: e15ba67 pack-objects: add --path-walk option
134: 09a9988 = 132: 236812d pack-objects: introduce GIT_TEST_PACK_PATH_WALK
135: 1e7dbcb = 133: 5d0b9bd repack: add --path-walk option
136: ef89194 = 134: caf0ee4 pack-objects: enable --path-walk via config
137: 21b2a09 = 135: 9381bc2 scalar: enable path-walk during push via config
138: 7bf1b20 = 136: 631020e pack-objects: refactor path-walk delta phase
139: 500d88b = 137: 5b0d493 pack-objects: thread the path-based compression
140: 76edb0e = 138: e001506 path-walk API: avoid adding a root tree more than once
141: 92eaef3 = 139: 6e7c46b backfill: add builtin boilerplate
142: cf287bf = 140: c1b581b backfill: basic functionality and tests
143: a4b3f64 = 141: 384f58f backfill: add --batch-size= option
144: eca47f3 = 142: 926c796 backfill: add --sparse option
145: ccec549 = 143: 1ecc734 backfill: assume --sparse when sparse-checkout is enabled
146: bb0476a = 144: 0d7f640 backfill: mark it as experimental
147: 38cc6ef = 145: a27ff73 survey: stub in new experimental 'git-survey' command
148: 97951c0 = 146: 0ac3b9c survey: add command line opts to select references
149: 376f5cc = 147: bc83015 survey: start pretty printing data in table form
150: f9b6169 = 148: 7425c88 survey: add object count summary
151: 7d417a9 = 149: 003f67d survey: summarize total sizes by object type
152: 1268677 = 150: 1c95f36 survey: show progress during object walk
153: a793ddf = 151: 9c755fe survey: add ability to track prioritized lists
154: ded35b8 = 152: 3703b6e survey: add report of "largest" paths
155: 57b7bc9 = 153: 43e0236 survey: add --top= option and config
156: d18a94c = 154: 3f58674 survey: clearly note the experimental nature in the output
157: 354fa83 = 155: 8b13e88 path-walk: improve path-walk speed with many tags
158: a150449 (upstream: c1c5b03) < -: ----------- cmake: better support for out-of-tree builds follow-up
159: 555743c (upstream: df87d53) < -: ----------- cmake(mergetools): better support for out-of-tree builds
160: 1671a05 (upstream: ca358e6) < -: ----------- cmake: use the correct file name for the Perl header
161: 9d204d2 (upstream: 1c01f0f) < -: ----------- cmake: put the Perl modules into the correct location again
162: 3112552 (upstream: 2456374) < -: ----------- cmake/vcxproj: stop special-casing
remote-ext
163: ec576d5 = 156: 1c879fd Win32: make FILETIME conversion functions public
164: 9279dfb = 157: 51e1021 Win32: dirent.c: Move opendir down
165: 055ab1b = 158: 6ee445a mingw: make the dirent implementation pluggable
166: 414ec68 = 159: 670dce5 Win32: make the lstat implementation pluggable
167: 63400a8 = 160: 389e13b mingw: add infrastructure for read-only file system level caches
168: 0121406 = 161: 0761e04 mingw: add a cache below mingw's lstat and dirent implementations
169: 8468338 = 162: f23e2bf fscache: load directories only once
170: 8d99b81 = 163: 3d535b9 fscache: add key for GIT_TRACE_FSCACHE
171: 4d2b5b6 = 164: 25fb82c fscache: remember not-found directories
172: d363684 = 165: 7600a21 fscache: add a test for the dir-not-found optimization
173: 732e080 = 166: bd2d35b add: use preload-index and fscache for performance
174: 542851f = 167: e0642de dir.c: make add_excludes aware of fscache during status
175: 15adc5a = 168: bd8ce2a fscache: make fscache_enabled() public
176: 5406c77 = 169: fea8108 dir.c: regression fix for add_excludes with fscache
177: 6f51ff9 = 170: 897b200 fetch-pack.c: enable fscache for stats under .git/objects
178: f0c36bf = 171: e52ef8c checkout.c: enable fscache for checkout again
179: 55a7b5c = 172: f90855d Enable the filesystem cache (fscache) in refresh_index().
180: e1fc253 = 173: 722d3c5 fscache: use FindFirstFileExW to avoid retrieving the short name
181: 7f1db36 = 174: 89d6d84 status: disable and free fscache at the end of the status command
182: 1962d8a = 175: 0809171 fscache: add GIT_TEST_FSCACHE support
183: 634038d = 176: 7060aa6 fscache: add fscache hit statistics
184: 8e1d68a = 177: c2e9695 mem_pool: add GIT_TRACE_MEMPOOL support
185: 3467b1a = 178: 08ce978 fscache: fscache takes an initial size
186: 52ddf03 = 179: c7d6766 fscache: update fscache to be thread specific instead of global
187: 0efde44 = 180: 8d9991c fscache: teach fscache to use mempool
188: 0e644b7 = 181: e12d96e fscache: make fscache_enable() thread safe
189: 570d994 = 182: c0451e0 fscache: teach fscache to use NtQueryDirectoryFile
190: 9dff7b5 = 183: 6c73835 unpack-trees: enable fscache for sparse-checkout
191: 3a54c42 = 184: c657ee8 fscache: remember the reparse tag for each entry
192: f864334 = 185: 91983eb fscache: implement an FSCache-aware is_mount_point()
193: 661e162 = 186: 6358ee1 clean: make use of FSCache
194: 4202631 = 187: 142ea99 git-gui: provide question helper for retry fallback on Windows
195: acf9a7c = 188: 4a0bec0 git gui: set GIT_ASKPASS=git-gui--askpass if not set yet
199: 08da229 = 189: 80e4165 gitk: Unicode file name support
196: 7c1d577 = 190: e263eaa git-gui--askyesno: fix funny text wrapping
200: d76caf6 ! 191: 0828715 gitk: Use an external icon file on Windows
197: fe69b7a = 192: 5f60d3d git-gui--askyesno: allow overriding the window title
201: 288d132 = 193: fd3b10c gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6
198: 324aea6 = 194: 5c4c32b git-gui--askyesno (mingw): use Git for Windows' icon, if available
202: c41a447 = 195: cfca01f gitk: make the "list references" default window width wider
203: c1c919c = 196: 7887a31 pack-objects (mingw): demonstrate a segmentation fault with large deltas
204: 79a3c8a = 197: ad48595 mingw: support long paths
205: 9003e33 = 198: 14ad2f4 Win32: fix 'lstat("dir/")' with long paths
206: 29c782d = 199: f55c731 win32(long path support): leave drive-less absolute paths intact
208: 9b5ba98 = 200: dc755c9 mingw: Support
git_terminal_prompt
with more terminals209: a6daf6e = 201: 4cd5716 compat/terminal.c: only use the Windows console if bash 'read -r' fails
210: 7ae4874 = 202: 77734b7 mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
211: 46279d9 = 203: dc8a4b0 strbuf_readlink: don't call readlink twice if hint is the exact link size
213: ac316d1 = 204: 92bfb98 strbuf_readlink: support link targets that exceed PATH_MAX
214: fa4fddf = 205: c4f7174 lockfile.c: use is_dir_sep() instead of hardcoded '/' checks
215: f8ac948 = 206: e01c8d3 Win32: don't call GetFileAttributes twice in mingw_lstat()
216: 2bb1e6e = 207: 6638195 Win32: implement stat() with symlink support
217: f3c9296 = 208: 02c9dcf Win32: remove separate do_lstat() function
218: db1a414 = 209: aca5e49 Win32: let mingw_lstat() error early upon problems with reparse points
219: 515cc68 = 210: ef613e5 mingw: teach fscache and dirent about symlinks
220: e4dcb79 = 211: a420856 Win32: lstat(): return adequate stat.st_size for symlinks
207: 63d220b = 212: 0b0e044 compat/fsmonitor/fsm-*-win32: support long paths
212: e79d110 = 213: 9d5f2b8 clean: suggest using
core.longPaths
if paths are too long to remove221: 9e4afe6 = 214: 4a2f57f Win32: factor out retry logic
222: 84d9820 = 215: 3604ed0 Win32: change default of 'core.symlinks' to false
223: 1d45809 = 216: 921c079 Win32: add symlink-specific error codes
224: 4de059f = 217: 778eff3 Win32: mingw_unlink: support symlinks to directories
225: 961af97 = 218: 8a25f9c Win32: mingw_rename: support renaming symlinks
226: 81da756 = 219: 81e820c Win32: mingw_chdir: change to symlink-resolved directory
227: 5a99c68 = 220: 171c880 Win32: implement readlink()
228: cb332f8 = 221: 7f0f1d8 mingw: lstat: compute correct size for symlinks
229: 89f21d2 = 222: be47a54 Win32: implement basic symlink() functionality (file symlinks only)
230: 386a891 = 223: dca3e9d Win32: symlink: add support for symlinks to directories
231: 88ba28a = 224: 8c3b470 mingw: try to create symlinks without elevated permissions
232: 1dc2358 = 225: 1c9007c mingw: emulate stat() a little more faithfully
233: 5dd4668 = 226: 393bd2c mingw: special-case index entries for symlinks with buggy size
237: 07c0a27 = 227: e44eee3 Win32: symlink: move phantom symlink creation to a separate function
239: 15384ce = 228: 3082a65 Introduce helper to create symlinks that knows about index_state
234: 1c10ce3 = 229: 3b96aaf mingw: introduce code to detect whether we're inside a Windows container
241: d0c63fc = 230: 6b4fd22 mingw: allow to specify the symlink type in .gitattributes
235: 1e220c0 = 231: 1d5ceb9 mingw: when running in a Windows container, try to rename() harder
242: e4b6fbb = 232: c598361 Win32: symlink: add test for
symlink
attribute236: e617430 = 233: d0dcac4 mingw: move the file_attr_to_st_mode() function definition
243: 45bac5f = 234: 53d4e1b mingw: explicitly specify with which cmd to prefix the cmdline
238: eb12ea2 = 235: db1ca57 mingw: Windows Docker volumes are not symbolic links
244: 37decb7 = 236: a0e53ef mingw: when path_lookup() failed, try BusyBox
240: 5b9e665 = 237: 0d4c9f8 mingw: work around rename() failing on a read-only file
245: 07fec36 = 238: 4598563 test-lib: avoid unnecessary Perl invocation
246: 702299d = 239: ad650eb test-tool: learn to act as a drop-in replacement for
iconv
247: 601e0da = 240: c1bc594 tests(mingw): if
iconv
is unavailable, usetest-helper --iconv
248: 577a559 = 241: 28f6be5 gitattributes: mark .png files as binary
249: ee2fa97 = 242: db8e5b3 tests: move test PNGs into t/lib-diff/
250: d16830e = 243: e7b6cba tests: only override sort & find if there are usable ones in /usr/bin/
251: c11bf87 = 244: d962207 tests: use the correct path separator with BusyBox
252: fab7c33 = 245: 13d7b5b mingw: only use Bash-ism
builtin pwd -W
when available253: f5baf12 = 246: df947e5 tests (mingw): remove Bash-specific pwd option
254: eb3e36a = 247: 1e3eca7 test-lib: add BUSYBOX prerequisite
255: 2af28e3 = 248: ee34322 t5003: use binary file from t/lib-diff/
256: 0085446 = 249: 821e2c9 t5532: workaround for BusyBox on Windows
257: 39e29a7 = 250: 317680f t5605: special-case hardlink test for BusyBox-w32
258: 1328e05 = 251: 09264eb t5813: allow for $PWD to be a Windows path
259: 7e177a9 = 252: 15768a6 t9200: skip tests when $PWD contains a colon
260: 4cf2e36 = 253: 7685619 mingw: add a Makefile target to copy test artifacts
261: cc5440a = 254: 1dbc892 mingw: kill child processes in a gentler way
263: a4fc574 = 255: cec15dd mingw: do not call xutftowcs_path in mingw_mktemp
262: 8220040 = 256: ea0e118 mingw: optionally enable wsl compability file mode bits
264: d2dbe72 = 257: de8147f mingw: really handle SIGINT
268: c70b1f4 = 258: 8b65236 Describe Git for Windows' architecture [no ci]
269: 3f6c794 = 259: 47c803f Modify the Code of Conduct for Git for Windows
270: 0e9c0e2 = 260: 56b4fbf CONTRIBUTING.md: add guide for first-time contributors
271: 7f6bb21 = 261: 8ef9c1d README.md: Add a Windows-specific preamble
273: e4a253a = 262: 0c0c2fd Add a GitHub workflow to monitor component updates
272: 4e9118a = 263: 4563fc0 Add an issue template
265: 9d05384 = 264: 4132d28 Partially un-revert "editor: save and reset terminal after calling EDITOR"
266: 09ac5d9 = 265: 09b369f reset: reinstate support for the deprecated --stdin option
267: 9c1c5e0 = 266: 0ee11d5 fsmonitor: reintroduce core.useBuiltinFSMonitor
275: b6ae40e = 267: bb00470 dependabot: help keeping GitHub Actions versions up to date
274: 69d6c8d = 268: 0cddc3c Modify the GitHub Pull Request template (to reflect Git for Windows)
276: adc85a7 (upstream: 8525e92) < -: ----------- Document how $HOME is set on Windows
277: 75db731 = 269: ae5442e SECURITY.md: document Git for Windows' policies
278: a203ce6 < -: ----------- fixup! ci: create clangarm64-build.yml