Skip to content

Rebase onto Git v2.53.0 - #6080

Merged
gitforwindowshelper[bot] merged 303 commits into
git-for-windows:mainfrom
dscho:tentative/rebase-to-2.53.0
Feb 2, 2026
Merged

Rebase onto Git v2.53.0#6080
gitforwindowshelper[bot] merged 303 commits into
git-for-windows:mainfrom
dscho:tentative/rebase-to-2.53.0

Merge 'readme' into HEAD

a5512bd
Select commit
Loading
Failed to load commit list.
GitForWindowsHelper / shears-next succeeded Mar 17, 2026 in 0s

shears/next rebased successfully

Rebase Summary: next

From: 26e688d136 (Merge 'readme' into HEAD, 2018-06-07) (134c9cc4b7..26e688d136)

Resolved: d16d94c (pack-objects (mingw): demonstrate a segmentation fault with large deltas, 2014-01-08)

kept both upstream's t7426 and patch's t7429 entries in sorted order

Range-diff
1:  d16d94ceaf ! 1:  43e57eac7d pack-objects (mingw): demonstrate a segmentation fault with large deltas
    @@ Commit message
     
      ## t/meson.build ##
     @@ t/meson.build: integration_tests = [
    -   't7423-submodule-symlinks.sh',
        't7424-submodule-mixed-ref-formats.sh',
        't7425-submodule-gitdir-path-extension.sh',
    +   't7426-submodule-get-default-remote.sh',
     +  't7429-submodule-long-path.sh',
        't7450-bad-git-dotfiles.sh',
        't7500-commit-template-squash-signoff.sh',

To: bee7df7cb7 (Merge 'readme' into HEAD, 2018-06-07) (555e039783..bee7df7cb7)

Statistics

Metric Count
Total conflicts 1
Skipped (upstreamed) 0
Resolved surgically 1
Range-diff (click to expand)
  1:  b4aa5f3d58 =   1:  390d0d530d unix-socket: avoid leak when initialization fails
  2:  de3932fef0 =   2:  0c851e4d32 grep: prevent `^$` false match at end of file
 22:  1002b0bdaa =   3:  71d28f0c99 vcpkg_install: detect lack of Git
 23:  1ffc30c89f =   4:  b55d57f560 vcpkg_install: add comment regarding slow network connections
 25:  3dbb68b260 =   5:  f425b684d7 vcbuild: install ARM64 dependencies when building ARM64 binaries
 27:  eb7b846bf9 =   6:  83ab67875a vcbuild: add an option to install individual 'features'
 29:  6bd27f2c90 =   7:  222b65b14c cmake: allow building for Windows/ARM64
  3:  6bf42d889a =   8:  4c9de876b9 mingw: include the Python parts in the build
 31:  f3b05a9daa =   9:  840347ed07 ci(vs-build) also build Windows/ARM64 artifacts
  4:  6478786d2a =  10:  b4e383b416 win32/pthread: avoid name clashes with winpthread
 33:  a279ff2de6 =  11:  76d06bada6 Add schannel to curl installation
  5:  48362757c7 =  12:  7bc92b4963 git-compat-util: avoid redeclaring _DEFAULT_SOURCE
 36:  d0a9d1df6a =  13:  d56b70f2b5 cmake(): allow setting HOST_CPU for cross-compilation
  6:  d099856822 =  14:  60a055ed8e Import the source code of mimalloc v2.2.7
 34:  837d92d5ef =  15:  38dee76624 hash-object: demonstrate a >4GB/LLP64 problem
  7:  26e302c815 =  16:  7cf72cce28 t9350: point out that refs are not updated correctly
 39:  db9fbf75ff =  17:  249caeb9ed CMake: default Visual Studio generator has changed
  8:  7bac2ada24 =  18:  00314b14bc mimalloc: adjust for building inside Git
 37:  7aed9863cf =  19:  973140608f object-file.c: use size_t for header lengths
  9:  1082523468 =  20:  2f1d7edf76 transport-helper: add trailing --
 11:  c3c9cc94c7 =  21:  1c65fcd5be mingw: demonstrate a `git add` issue with NTFS junctions
 42:  2aec856657 =  22:  e62eb32601 .gitignore: add Visual Studio CMakeSetting.json file
 10:  eff2adcdda =  23:  8370450d8f mimalloc: offer a build-time option to enable it
 45:  ac0c0fee29 =  24:  8cce03f737 t5505/t5516: allow running without `.git/branches/` in the templates
 40:  541848e8ab =  25:  1c8fe7b492 hash algorithms: use size_t for section lengths
 12:  65e950caf2 =  26:  bf04fc57f1 remote-helper: check helper status after import/export
 13:  42d3d65319 =  27:  447a308adf clean: do not traverse mount points
 15:  3d51c35329 =  28:  0aaafbd9a2 strbuf_realpath(): use platform-dependent API if available
 46:  a4108be146 =  29:  d2b5e70423 http: use new "best effort" strategy for Secure Channel revoke checking
 47:  ad8a0bbf7d =  30:  7f7c953eaf subtree: update `contrib/subtree` `test` target
 48:  4317b5c024 =  31:  ee86cd31a7 CMakeLists: add default "x64-windows" arch for Visual Studio
 14:  634b27cb53 =  32:  b865d67c53 mingw: use mimalloc
 53:  3ad91f4d27 =  33:  64379fc731 t5505/t5516: fix white-space around redirectors
 43:  03b0af45a7 =  34:  3fdc537aeb hash-object --stdin: verify that it works with >4GB/LLP64
 16:  70e93597ab =  35:  8b99a2032b Always auto-gc after calling a fast-import transport
 17:  e33c8c7d0f =  36:  90a1b1baf7 mingw: prevent regressions with "drive-less" absolute paths
 18:  3f838e7f51 =  37:  d94a0ce7b8 clean: remove mount points when possible
 19:  9f24e240df =  38:  e6e7f019ba transport: optionally disable side-band-64k
 20:  a4a86981aa =  39:  d5152af8f8 mingw: fix fatal error working on mapped network drives on Windows
 21:  87e6994672 =  40:  fdaee81960 clink.pl: fix MSVC compile script to handle libcurl-d.lib
 55:  34b9f40a57 =  41:  77141b7757 mingw: implement a platform-specific `strbuf_realpath()`
 56:  3c1df6cd8c =  42:  a13581c20c t3701: verify that we can add *lots* of files interactively
 57:  622abec2b6 =  43:  3936bbc977 commit: accept "scissors" with CR/LF line endings
 58:  42a2d4e427 =  44:  66c642eb83 t0014: fix indentation
 59:  e78a160c19 =  45:  2b45620e55 git-gui: accommodate for intent-to-add files
 60:  ee76134931 =  46:  a50b54163f mingw: allow for longer paths in `parse_interpreter()`
 61:  9588ad7038 =  47:  329735bd60 compat/vcbuild: document preferred way to build in Visual Studio
 62:  d21941d6d0 =  48:  46f2f4c86e http: optionally send SSL client certificate
 63:  edb5da9c4f =  49:  c36f19b8ac ci: run `contrib/subtree` tests in CI builds
 64:  19cbc5c1cc =  50:  63d6d86ead CMake: show Win32 and Generator_platform build-option values
 24:  1f6b54339a =  51:  f22c799e3d windows: skip linking `git-<command>` for built-ins
 26:  ed2a20633a =  52:  fda39b517b mingw: stop hard-coding `CC = gcc`
 28:  05809b7b09 =  53:  8d1a68a337 mingw: drop the -D_USE_32BIT_TIME_T option
 30:  e34ad021e1 =  54:  dcd0d88937 mingw: only use -Wl,--large-address-aware for 32-bit builds
 32:  1d6a8cb251 =  55:  0e52936005 mingw: avoid over-specifying `--pic-executable`
 35:  e45f08ce23 =  56:  44aa73bbdf mingw: set the prefix and HOST_CPU as per MSYS2's settings
 38:  2ce69209e7 =  57:  842814c39f mingw: only enable the MSYS2-specific stuff when compiling in MSYS2
 41:  fde377edfd =  58:  b2e17addf6 mingw: rely on MSYS2's metadata instead of hard-coding it
 44:  1193688f61 =  59:  2a54d1154a mingw: always define `ETC_*` for MSYS2 environments
 52:  2b08443ceb =  60:  fa4faf9989 max_tree_depth: lower it for clang builds in general on Windows
 72:  42a49f6b88 =  61:  ef35a8f4dd mingw: ensure valid CTYPE
 74:  b01aed503b =  62:  1577348d60 mingw: allow `git.exe` to be used instead of the "Git wrapper"
 76:  0a4fa235f6 =  63:  86df45ac4f mingw: ignore HOMEDRIVE/HOMEPATH if it points to Windows' system directory
 79:  fc7bf66a04 =  64:  813a7d1893 clink.pl: fix libexpatd.lib link error when using MSVC
 73:  3f7d5f3109 =  65:  e0999d5380 ci: work around a problem with HTTP/2 vs libcurl v8.10.0
 81:  2f239a5942 =  66:  5549120fbc Makefile: clean up .ilk files when MSVC=1
 75:  287efae103 =  67:  3b63d8eb4a revision: create mark_trees_uninteresting_dense()
 83:  674b11130d =  68:  500060cf6f vcbuild: add support for compiling Windows resource files
 77:  97926b398c =  69:  9b419f397b survey: stub in new experimental 'git-survey' command
 85:  ab602c31a5 =  70:  ce0246b675 config.mak.uname: add git.rc to MSVC builds
 54:  bdcee4bc08 =  71:  6212fe2a38 MinGW: link as terminal server aware
 78:  0f6f2a2e9d =  72:  b78ee20567 survey: add command line opts to select references
 88:  3e3039b6a3 =  73:  64f4390893 clink.pl: ignore no-stack-protector arg on MSVC=1 builds
 89:  d5b0b2e2c4 =  74:  b6bf3e6b4f http: optionally load libcurl lazily
 80:  6164669e68 =  75:  e6b3c5a1b9 survey: start pretty printing data in table form
 92:  8cebd6ab55 =  76:  bf4caa9428 clink.pl: move default linker options for MSVC=1 builds
 93:  083cfbfaf3 =  77:  b8f50ba023 http: support lazy-loading libcurl also on Windows
 82:  ec06ed0877 =  78:  6195293401 survey: add object count summary
 49:  ff7f626868 =  79:  3badae9a19 hash-object: add another >4GB/LLP64 test case
 50:  e9e9051191 =  80:  5c63ec4f6c setup: properly use "%(prefix)/" when in WSL
 51:  93e1b593a1 =  81:  170ec1688d Add config option `windows.appendAtomically`
 96:  fe8e1f9388 =  82:  bf6d77af53 cmake: install headless-git.
 97:  21f0c77d26 =  83:  243b6073c5 http: when loading libcurl lazily, allow for multiple SSL backends
 84:  3ba57be340 =  84:  de076be8a8 survey: summarize total sizes by object type
 65:  0bc753f479 =  85:  95ec92343d hash-object: add a >4GB/LLP64 test case using filtered input
 66:  8ffbb6985a =  86:  5ef9bb1d7b compat/mingw.c: do not warn when failing to get owner
 67:  34b59e57cc =  87:  6bfe265547 mingw: $env:TERM="xterm-256color" for newer OSes
 68:  014764c80e =  88:  725f8a712c winansi: check result and Buffer before using Name
 69:  9ef23c5403 =  89:  bb5c2ea3e4 mingw: change core.fsyncObjectFiles = 1 by default
 70:  f8c322744c =  90:  a12f4f3d75 Fix Windows version resources
 71:  465f6c9000 =  91:  85d9ca28cf status: fix for old-style submodules with commondir
100:  15039b35e9 =  92:  d54654af23 git.rc: include winuser.h
101:  6d25aea931 =  93:  f4600a52ac mingw: do load libcurl dynamically by default
102:  735910f8ac =  94:  3dad2a85a8 Add a GitHub workflow to verify that Git/Scalar work in Nano Server
103:  1947778220 =  95:  e8ea12792a mingw: suggest `windows.appendAtomically` in more cases
104:  de8b7f74d4 =  96:  7da304ac40 win32: use native ANSI sequence processing, if possible
105:  526ea777e6 =  97:  2a48823ad4 common-main.c: fflush stdout buffer upon exit
106:  c051175811 =  98:  58bc6a65db t5601/t7406(mingw): do run tests with symlink support
107:  a948eaab99 =  99:  1f0aba7b58 win32: ensure that `localtime_r()` is declared even in i686 builds
108:  4481ff386b = 100:  3731f9554b Fallback to AppData if XDG_CONFIG_HOME is unset
109:  456b69b68b = 101:  c515b8a352 run-command: be helpful with Git LFS fails on Windows 7
 86:  0113d4e203 = 102:  750755f8db survey: show progress during object walk
 87:  fefb8d164e = 103:  8184faf212 mingw: make sure `errno` is set correctly when socket operations fail
 90:  3a3fb0d0bf = 104:  5ec4767ece survey: add ability to track prioritized lists
 91:  69b8a33fa8 = 105:  b22383a886 compat/mingw: handle WSA errors in strerror
 94:  69b700949e = 106:  c1c794934a survey: add report of "largest" paths
 95:  85c09df08d = 107:  15778625c6 compat/mingw: drop outdated comment
 98:  105c276e8b = 108:  cd6ad1f6b4 survey: add --top=<N> option and config
 99:  7a399565f2 = 109:  39ebc133ca t0301: actually test credential-cache on Windows
110:  728f2af6db = 110:  293d796db7 survey: clearly note the experimental nature in the output
111:  03d2d45fdc = 111:  c2e99e7adb credential-cache: handle ECONNREFUSED gracefully
112:  c169d42f7f = 112:  6dd0fe0041 reftable: do make sure to use custom allocators
113:  4bb2e32157 = 113:  43f0b2aaa5 check-whitespace: avoid alerts about upstream commits
114:  351541deef = 114:  ae4f5059b2 t/t5571-prep-push-hook.sh: Add test with writing to stderr
115:  d7af75437d = 115:  56295298a5 git-svn: mark it as unsupported by the Git for Windows project
116:  1f99f17ab5 = 116:  732e08b462 ci(macos): skip the `git p4` tests
130:  52f5b7ba12 = 117:  c5f6c06bf2 git-gui--askyesno: fix funny text wrapping
132:  eee5478669 = 118:  d7a380c14c git-gui--askyesno (mingw): use Git for Windows' icon, if available
117:  2635e85a2c = 119:  a2e3513996 Win32: make FILETIME conversion functions public
118:  ba8236b51b = 120:  a2e4b3a186 Win32: dirent.c: Move opendir down
119:  c007ca5066 = 121:  3dbbbd6715 mingw: make the dirent implementation pluggable
120:  ed29ecda4b = 122:  18e2719e88 Win32: make the lstat implementation pluggable
121:  c176f6d718 = 123:  f9077457bf mingw: add infrastructure for read-only file system level caches
122:  5aa1420850 = 124:  f9d9ae1ebb mingw: add a cache below mingw's lstat and dirent implementations
123:  f380db737b = 125:  1d19b87dcd fscache: load directories only once
124:  e254aeb9fb = 126:  51752c9b92 fscache: add key for GIT_TRACE_FSCACHE
125:  616aef4592 = 127:  70622a08a5 fscache: remember not-found directories
126:  6409693ecc = 128:  64ee1925c4 fscache: add a test for the dir-not-found optimization
127:  638f2f0e47 = 129:  0668a0cd63 add: use preload-index and fscache for performance
128:  629b92d452 = 130:  16f745089e dir.c: make add_excludes aware of fscache during status
129:  0a4713ab86 = 131:  4b523fec70 fscache: make fscache_enabled() public
131:  afe021e295 = 132:  190914c085 dir.c: regression fix for add_excludes with fscache
133:  a8acf5c35b = 133:  343e486c34 fetch-pack.c: enable fscache for stats under .git/objects
134:  c999a1050f = 134:  e948fe47d7 checkout.c: enable fscache for checkout again
135:  1ab74d39dd = 135:  6a90de6671 Enable the filesystem cache (fscache) in refresh_index().
136:  ac27b235b1 = 136:  7193fe2ea0 fscache: use FindFirstFileExW to avoid retrieving the short name
137:  29f4965143 = 137:  cd3367ed11 fscache: add GIT_TEST_FSCACHE support
138:  df4746472b = 138:  dac3761e10 fscache: add fscache hit statistics
139:  902ef225f6 = 139:  80ef20263f unpack-trees: enable fscache for sparse-checkout
140:  4caad23f77 = 140:  a82df83078 status: disable and free fscache at the end of the status command
141:  73398a9e87 = 141:  43aa353390 mem_pool: add GIT_TRACE_MEMPOOL support
142:  202194c44e = 142:  cb4ace6ccc fscache: fscache takes an initial size
143:  49835c65fb = 143:  a3e73a4349 fscache: update fscache to be thread specific instead of global
144:  66c26f0e8e = 144:  16669846f3 fscache: teach fscache to use mempool
145:  b5b8084d79 = 145:  bfb0361cd9 fscache: make fscache_enable() thread safe
146:  146c87101b = 146:  4148b6c24e fscache: teach fscache to use NtQueryDirectoryFile
147:  0c27bba78d = 147:  605a2ac341 fscache: remember the reparse tag for each entry
148:  8ecc172b8f = 148:  32ce3dd35c fscache: implement an FSCache-aware is_mount_point()
149:  27a28a0173 = 149:  6ae5c1fefc clean: make use of FSCache
150:  d16d94ceaf ! 150:  43e57eac7d pack-objects (mingw): demonstrate a segmentation fault with large deltas
    @@ Commit message
     
      ## t/meson.build ##
     @@ t/meson.build: integration_tests = [
    -   't7423-submodule-symlinks.sh',
        't7424-submodule-mixed-ref-formats.sh',
        't7425-submodule-gitdir-path-extension.sh',
    +   't7426-submodule-get-default-remote.sh',
     +  't7429-submodule-long-path.sh',
        't7450-bad-git-dotfiles.sh',
        't7500-commit-template-squash-signoff.sh',
151:  6306f816a5 = 151:  4a261e5339 mingw: support long paths
152:  a9bb6fb9ce = 152:  37a3ccfa98 win32(long path support): leave drive-less absolute paths intact
153:  7e71fed740 = 153:  afd4b3b943 compat/fsmonitor/fsm-*-win32: support long paths
154:  d4063f00f6 = 154:  4ce810c9b2 clean: suggest using `core.longPaths` if paths are too long to remove
155:  cb79b7f293 = 155:  a2ab2254ef mingw: Support `git_terminal_prompt` with more terminals
156:  cbf58e08d1 = 156:  035b84c98f compat/terminal.c: only use the Windows console if bash 'read -r' fails
157:  da8f1fca1c = 157:  6365a069c7 mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
158:  17507d2bcf = 158:  421de7ad25 Win32: symlink: move phantom symlink creation to a separate function
159:  b6c3238d97 = 159:  72c0c50131 Introduce helper to create symlinks that knows about index_state
160:  ac8497bdc9 = 160:  a57ceec7e4 mingw: allow to specify the symlink type in .gitattributes
161:  dff1b5a0cf = 161:  d91b6cc362 Win32: symlink: add test for `symlink` attribute
162:  a0fff6b0c5 = 162:  371615f57d mingw: explicitly specify with which cmd to prefix the cmdline
163:  6b97e5d684 = 163:  e50f02779b mingw: when path_lookup() failed, try BusyBox
164:  a2181d697e = 164:  e55603f8fd test-tool: learn to act as a drop-in replacement for `iconv`
165:  a14768b3b3 = 165:  e5d38f0a43 tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
166:  ca2f198dbf = 166:  bb29f812a1 gitattributes: mark .png files as binary
167:  1bb13f0137 = 167:  e8ba0c3619 tests: move test PNGs into t/lib-diff/
168:  2676253b1a = 168:  77a99a8036 tests: only override sort & find if there are usable ones in /usr/bin/
169:  7019be7c23 = 169:  62b8b47a0c tests: use the correct path separator with BusyBox
170:  a8434f6880 = 170:  b2274cf356 mingw: only use Bash-ism `builtin pwd -W` when available
172:  ea0caf71f6 = 171:  fe3422178a tests (mingw): remove Bash-specific pwd option
174:  ba14948ddf = 172:  cfaa1052d2 test-lib: add BUSYBOX prerequisite
183:  5b6d90e410 = 173:  ec8ec41392 Describe Git for Windows' architecture [no ci]
176:  9bf3a2dc71 = 174:  e9aa009ad4 t5003: use binary file from t/lib-diff/
186:  9299ad4f2f = 175:  a3513993eb Modify the Code of Conduct for Git for Windows
171:  5fc4d26e37 = 176:  8e99806bb0 mingw: introduce code to detect whether we're inside a Windows container
178:  01a1b71124 = 177:  444df01c3f t5532: workaround for BusyBox on Windows
188:  ba5e6b0f59 = 178:  c770e51bb3 CONTRIBUTING.md: add guide for first-time contributors
173:  eb820ec445 = 179:  edae55804b mingw: when running in a Windows container, try to rename() harder
180:  65758ab8e3 = 180:  bb56ec2dd0 t5605: special-case hardlink test for BusyBox-w32
190:  43c0d8d5fc = 181:  ac127eedf7 README.md: Add a Windows-specific preamble
175:  782cf94bfb = 182:  f0af5d483a mingw: move the file_attr_to_st_mode() function definition
181:  906f4a663f = 183:  81e7a33082 t5813: allow for $PWD to be a Windows path
192:  88e256c578 = 184:  d9520d1831 Add an issue template
177:  24e7dad06f = 185:  e9d8e5173a mingw: Windows Docker volumes are *not* symbolic links
182:  2322700554 = 186:  505858d861 t9200: skip tests when $PWD contains a colon
184:  9a27dc53e4 = 187:  c903a9269c mingw: kill child processes in a gentler way
193:  67ec69d3e7 = 188:  24e5a5bdd8 Add a GitHub workflow to monitor component updates
195:  47720254c4 = 189:  42d1843e43 Modify the GitHub Pull Request template (to reflect Git for Windows)
179:  7b8e5d1ebe = 190:  0579e1f505 mingw: work around rename() failing on a read-only file
185:  8f73945492 = 191:  d8b1bd0fc0 mingw: optionally enable wsl compability file mode bits
187:  6cfc3d9256 = 192:  dccf256004 mingw: really handle SIGINT
189:  161f2f974e = 193:  cd371c649a Partially un-revert "editor: save and reset terminal after calling EDITOR"
191:  21121858a5 = 194:  8d40752784 reset: reinstate support for the deprecated --stdin option
194:  74e4f807c7 = 195:  de7b4524f0 fsmonitor: reintroduce core.useBuiltinFSMonitor
196:  cd64930b6c = 196:  f7737d89a7 dependabot: help keeping GitHub Actions versions up to date
197:  55e6e3ec09 = 197:  26b63f03be SECURITY.md: document Git for Windows' policies