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-main succeeded Mar 17, 2026 in 0s

shears/main rebased successfully

Rebase Summary: main

From: 701dd5299f (Merge 'readme' into HEAD, 2018-06-07) (b0c6523982..701dd5299f)
To: 5029d8605e (Merge 'readme' into HEAD, 2018-06-07) (f25cde81f7..5029d8605e)

Statistics

Metric Count
Total conflicts 0
Skipped (upstreamed) 0
Resolved surgically 0
Range-diff (click to expand)
  1:  66f8c1d374 =   1:  610b0e38b4 sideband: mask control characters
  2:  9db506fd89 =   2:  07824c188d sideband: introduce an "escape hatch" to allow control characters
  3:  e7fdc37239 =   3:  44769f7663 sideband: do allow ANSI color sequences by default
  4:  625191958c =   4:  73a84ff9dc unix-socket: avoid leak when initialization fails
  5:  babb2ccce9 =   5:  789c6fd187 grep: prevent `^$` false match at end of file
  6:  520875cbe1 =   6:  a129dbf66c t9350: point out that refs are not updated correctly
  7:  745f4dd39c =   7:  b8a9c63f97 transport-helper: add trailing --
 17:  ec30dcff5b =   8:  38a504c605 mingw: include the Python parts in the build
  8:  c99fd11ccf =   9:  7fdd73fc55 remote-helper: check helper status after import/export
  9:  0ce7dbf89e =  10:  bdcf7391ad clean: do not traverse mount points
 19:  15bec9b6ea =  11:  50aaba4056 win32/pthread: avoid name clashes with winpthread
 10:  23e2bb0129 =  12:  16a7fe7c5b Always auto-gc after calling a fast-import transport
 11:  8f3741e6ad =  13:  d038df714f mingw: prevent regressions with "drive-less" absolute paths
 43:  d57145e66b =  14:  b5be338224 clean: remove mount points when possible
 12:  7cf0237a57 =  15:  b2fd7d1501 vcpkg_install: detect lack of Git
 13:  02faabf913 =  16:  0a756d205d vcpkg_install: add comment regarding slow network connections
 14:  80129abab9 =  17:  da86dbc997 vcbuild: install ARM64 dependencies when building ARM64 binaries
 15:  8ee2ef35c8 =  18:  d53d26924e vcbuild: add an option to install individual 'features'
 16:  ad3c89c974 =  19:  1c29fc3dcb cmake: allow building for Windows/ARM64
 18:  d55a31bb47 =  20:  176beaf0e3 ci(vs-build) also build Windows/ARM64 artifacts
 20:  c3be3f9159 =  21:  633d0ee862 Add schannel to curl installation
 21:  e64290f751 =  22:  b5f2ba8f3c hash-object: demonstrate a >4GB/LLP64 problem
 22:  66c4ef932b =  23:  bc13425f8e git-compat-util: avoid redeclaring _DEFAULT_SOURCE
 23:  b01680d23a =  24:  31133821f9 cmake(): allow setting HOST_CPU for cross-compilation
 24:  0a9afa6221 =  25:  b4ce770285 object-file.c: use size_t for header lengths
 25:  374c46922c =  26:  4ec5a88765 Import the source code of mimalloc v2.2.7
 26:  e6f16a7af8 =  27:  0d1bcebdc8 CMake: default Visual Studio generator has changed
 27:  658d700854 =  28:  56044af5c5 hash algorithms: use size_t for section lengths
 28:  4f2469902f =  29:  f3493d4a14 mimalloc: adjust for building inside Git
 29:  c0c9507500 =  30:  af2d464a7d mingw: demonstrate a `git add` issue with NTFS junctions
 30:  85fbd3bd3b =  31:  f4f01bdb28 .gitignore: add Visual Studio CMakeSetting.json file
 31:  06fed6e340 =  32:  e3e8432bdf hash-object --stdin: verify that it works with >4GB/LLP64
 32:  5493e25b98 =  33:  17a6720982 mimalloc: offer a build-time option to enable it
 33:  093d03f03c =  34:  c408b8cfa7 t5505/t5516: allow running without `.git/branches/` in the templates
 34:  e3ff6c6dfe =  35:  423dc37232 strbuf_realpath(): use platform-dependent API if available
 35:  07e499e6c9 =  36:  7991f46623 http: use new "best effort" strategy for Secure Channel revoke checking
 36:  18085065fd =  37:  d230c08a3c subtree: update `contrib/subtree` `test` target
 37:  95b01b58cf =  38:  773841a9f0 CMakeLists: add default "x64-windows" arch for Visual Studio
 38:  c90992c1f1 =  39:  9980a4a958 hash-object: add another >4GB/LLP64 test case
 39:  3e7620f5ac =  40:  4d6e704613 setup: properly use "%(prefix)/" when in WSL
 42:  c3046e0344 =  41:  186bde078f Add config option `windows.appendAtomically`
 40:  65bcce79d3 =  42:  fc94c6f019 mingw: use mimalloc
 41:  d4cb8fea13 =  43:  9c2dc086f2 t5505/t5516: fix white-space around redirectors
 85:  f9ee65b987 =  44:  32e58194cb MinGW: link as terminal server aware
 44:  ca2e80928b =  45:  cace52e831 transport: optionally disable side-band-64k
 45:  955dac0bee =  46:  6fe683d212 mingw: fix fatal error working on mapped network drives on Windows
 46:  fe9473dbbf =  47:  17b5ba3859 clink.pl: fix MSVC compile script to handle libcurl-d.lib
 47:  59ed02e1f0 =  48:  bfea738adc mingw: implement a platform-specific `strbuf_realpath()`
 48:  d65b462bac =  49:  28d600b3dc t3701: verify that we can add *lots* of files interactively
 49:  27927508c5 =  50:  ea2eab5553 commit: accept "scissors" with CR/LF line endings
 50:  5df5ad9b60 =  51:  9a8910e04b t0014: fix indentation
 51:  696d664933 =  52:  1c764694ec git-gui: accommodate for intent-to-add files
 52:  afbc5e6364 =  53:  0da7273367 mingw: allow for longer paths in `parse_interpreter()`
 53:  54465991ce =  54:  4867cd066a compat/vcbuild: document preferred way to build in Visual Studio
 54:  e4b52f8fc2 =  55:  b0d12dfcd7 http: optionally send SSL client certificate
 55:  21913900d5 =  56:  81b0fdff61 ci: run `contrib/subtree` tests in CI builds
 56:  a5bc197081 =  57:  081eecf50a CMake: show Win32 and Generator_platform build-option values
 57:  c6d761cf41 =  58:  8357402d64 hash-object: add a >4GB/LLP64 test case using filtered input
 58:  cc1dc4150c =  59:  e7951fd0b7 compat/mingw.c: do not warn when failing to get owner
 59:  2e3c9732a7 =  60:  c1aeac0cfd mingw: $env:TERM="xterm-256color" for newer OSes
 60:  5b275464da =  61:  4bd336df4d winansi: check result and Buffer before using Name
 97:  d66c31be0d =  62:  1f024bec29 mingw: change core.fsyncObjectFiles = 1 by default
 98:  4cf4f87eb6 =  63:  4bece8aab9 Fix Windows version resources
 99:  052633ebe8 =  64:  b97ae39caf status: fix for old-style submodules with commondir
 61:  3ddb41a909 =  65:  34445f7196 windows: skip linking `git-<command>` for built-ins
 62:  f2aa6cdf46 =  66:  ec1cecfea3 mingw: stop hard-coding `CC = gcc`
 63:  9de8877558 =  67:  82c69f2972 mingw: drop the -D_USE_32BIT_TIME_T option
 64:  fc17afb3bf =  68:  8ae3357f34 mingw: only use -Wl,--large-address-aware for 32-bit builds
 65:  4c6eccdfc5 =  69:  4efa50a9d2 mingw: avoid over-specifying `--pic-executable`
 66:  325391caaa =  70:  9220784585 mingw: set the prefix and HOST_CPU as per MSYS2's settings
 67:  f4493e29f9 =  71:  b8b6eb389e mingw: only enable the MSYS2-specific stuff when compiling in MSYS2
 68:  83377bf076 =  72:  1e77cab2c2 mingw: rely on MSYS2's metadata instead of hard-coding it
 69:  6026004248 =  73:  9062cfcee6 mingw: always define `ETC_*` for MSYS2 environments
 70:  cb8fe1d5d8 =  74:  3c35ab060d max_tree_depth: lower it for clang builds in general on Windows
 71:  7ef4518fa5 =  75:  72190f5ff4 mingw: ensure valid CTYPE
 72:  24b473dc43 =  76:  ea648062ec ci: work around a problem with HTTP/2 vs libcurl v8.10.0
 73:  dcff030d26 =  77:  842b5ed506 mingw: allow `git.exe` to be used instead of the "Git wrapper"
 74:  da98ba7c96 =  78:  9f2d7ab15f revision: create mark_trees_uninteresting_dense()
 75:  b1220380f4 =  79:  c1fd4e4400 mingw: ignore HOMEDRIVE/HOMEPATH if it points to Windows' system directory
 76:  12a933d77e =  80:  0500daa528 survey: stub in new experimental 'git-survey' command
 77:  5076c35f97 =  81:  f50edc56f5 survey: add command line opts to select references
 78:  3701e85a1b =  82:  668b632d21 clink.pl: fix libexpatd.lib link error when using MSVC
 79:  2359246ebf =  83:  efffb46751 survey: start pretty printing data in table form
 80:  ca405bfad4 =  84:  22a1b9faa6 Makefile: clean up .ilk files when MSVC=1
 81:  a5f9fa236a =  85:  12d6c75c60 survey: add object count summary
 82:  574bd41197 =  86:  cc5bfd0b0b vcbuild: add support for compiling Windows resource files
 83:  5c3b9b05be =  87:  56d238b33e survey: summarize total sizes by object type
 84:  77a3ca8005 =  88:  a217348fb1 config.mak.uname: add git.rc to MSVC builds
 86:  8065b53ac4 =  89:  058d3e92fe survey: show progress during object walk
 96:  eb34354030 =  90:  9d49280179 mingw: make sure `errno` is set correctly when socket operations fail
 87:  082229ba85 =  91:  c76d03e471 clink.pl: ignore no-stack-protector arg on MSVC=1 builds
 88:  68e06a2453 =  92:  ca312e2567 http: optionally load libcurl lazily
 89:  00dc56971f =  93:  8576a8fbdc survey: add ability to track prioritized lists
111:  e35eac5f42 =  94:  33479c6b3a compat/mingw: handle WSA errors in strerror
 90:  097607b662 =  95:  37964bd09e clink.pl: move default linker options for MSVC=1 builds
 91:  c6d864d649 =  96:  0709bf6261 http: support lazy-loading libcurl also on Windows
 92:  43d473009e =  97:  ebfa5e38bf survey: add report of "largest" paths
112:  8c758e694e =  98:  8fa1527455 compat/mingw: drop outdated comment
 93:  a7396c3b61 =  99:  cf48bb5cf3 cmake: install headless-git.
 94:  d779dba965 = 100:  fc2f931127 http: when loading libcurl lazily, allow for multiple SSL backends
 95:  9888d4f56b = 101:  b522b9a178 survey: add --top=<N> option and config
113:  b7d6ee0d57 = 102:  cf495c428a t0301: actually test credential-cache on Windows
100:  bee63d4746 = 103:  de18b4b713 git.rc: include winuser.h
101:  fab389591c = 104:  4463a0fc51 mingw: do load libcurl dynamically by default
102:  1422249fa7 = 105:  43a6377150 Add a GitHub workflow to verify that Git/Scalar work in Nano Server
103:  265203ee2d = 106:  396e404db1 mingw: suggest `windows.appendAtomically` in more cases
104:  26a0bb9f9f = 107:  cf1ba27a5b win32: use native ANSI sequence processing, if possible
105:  ef0ac5f6e2 = 108:  4aed61be2f common-main.c: fflush stdout buffer upon exit
106:  0d14796979 = 109:  5e611985b4 t5601/t7406(mingw): do run tests with symlink support
107:  b8d2e9e2b9 = 110:  76f66df143 win32: ensure that `localtime_r()` is declared even in i686 builds
108:  3a36a4e887 = 111:  c80385ed23 Fallback to AppData if XDG_CONFIG_HOME is unset
109:  870e072a65 = 112:  aecf7d73c7 run-command: be helpful with Git LFS fails on Windows 7
110:  00f39e0ff9 = 113:  8cd5f1071a survey: clearly note the experimental nature in the output
114:  39a8c46adf = 114:  4c1dad5b02 credential-cache: handle ECONNREFUSED gracefully
115:  28107eb708 = 115:  86d0dda3f4 reftable: do make sure to use custom allocators
116:  9a3adf73e9 = 116:  7009673769 check-whitespace: avoid alerts about upstream commits
117:  5e8185ff12 = 117:  8811d58a4b t/t5571-prep-push-hook.sh: Add test with writing to stderr
118:  96093ec10a = 118:  e3b612d7a2 git-svn: mark it as unsupported by the Git for Windows project
119:  89f9c1d024 = 119:  8edf9aa7b1 ci(macos): skip the `git p4` tests
120:  94cb6991d5 = 120:  ac5f148fe6 Win32: make FILETIME conversion functions public
121:  617671dc98 = 121:  9c3bcad28b Win32: dirent.c: Move opendir down
122:  883bf00c7e = 122:  1831f29d0d mingw: make the dirent implementation pluggable
164:  5bd0bf49cf = 123:  b8b093749c git-gui--askyesno: fix funny text wrapping
123:  4f793601dc = 124:  17614f0427 Win32: make the lstat implementation pluggable
167:  2026e98b3c = 125:  2e17b74a86 git-gui--askyesno (mingw): use Git for Windows' icon, if available
124:  ab7deff048 = 126:  2f165d9bcd mingw: add infrastructure for read-only file system level caches
125:  59a3186f03 = 127:  7bd908ca81 mingw: add a cache below mingw's lstat and dirent implementations
126:  be81e126c9 = 128:  b165dc2846 fscache: load directories only once
127:  7abfb58160 = 129:  83a9eac546 fscache: add key for GIT_TRACE_FSCACHE
128:  c9bffecaf4 = 130:  8a4f7b663a fscache: remember not-found directories
129:  6584c5876a = 131:  83fea5d79c fscache: add a test for the dir-not-found optimization
130:  4404c5b230 = 132:  1ca05eedaa add: use preload-index and fscache for performance
131:  d32976ee09 = 133:  0040c02d99 dir.c: make add_excludes aware of fscache during status
132:  3bf815160f = 134:  975c383a1a fscache: make fscache_enabled() public
133:  dbdbdac734 = 135:  8cd7a4d8d1 dir.c: regression fix for add_excludes with fscache
134:  55f555cab8 = 136:  e770a28b24 fetch-pack.c: enable fscache for stats under .git/objects
135:  88bfeb486c = 137:  8970d601dc checkout.c: enable fscache for checkout again
136:  9d74358d2c = 138:  4e8c08232e Enable the filesystem cache (fscache) in refresh_index().
137:  2e3ad91528 = 139:  66f9c8c835 fscache: use FindFirstFileExW to avoid retrieving the short name
138:  a1ef7fbda3 = 140:  ae080dd14e fscache: add GIT_TEST_FSCACHE support
139:  50854c45a4 = 141:  b3fd82a0b9 fscache: add fscache hit statistics
140:  3511ddb8eb = 142:  8bbf9d21ff unpack-trees: enable fscache for sparse-checkout
141:  a51f54051d = 143:  bf5362036c status: disable and free fscache at the end of the status command
142:  e706dcd732 = 144:  5e52ccb6d6 mem_pool: add GIT_TRACE_MEMPOOL support
143:  e8de1d3d6d = 145:  889d0a5723 fscache: fscache takes an initial size
144:  911c361d2f = 146:  b75bd2a14c fscache: update fscache to be thread specific instead of global
145:  ff08189d7c = 147:  e72b3e8bb9 fscache: teach fscache to use mempool
146:  83b2a2b27d = 148:  90626cc75b fscache: make fscache_enable() thread safe
147:  700287931e = 149:  4ca694d918 fscache: teach fscache to use NtQueryDirectoryFile
148:  46493127c1 = 150:  6888cfbe50 fscache: remember the reparse tag for each entry
149:  36a7c9c5a8 = 151:  cea42623f0 fscache: implement an FSCache-aware is_mount_point()
150:  494cd89fb6 = 152:  4747e045dd clean: make use of FSCache
151:  4497f35750 = 153:  3f836c86fb pack-objects (mingw): demonstrate a segmentation fault with large deltas
152:  d3758121fe = 154:  cad61e1bd5 mingw: support long paths
153:  18b281b7bc = 155:  0460accaa8 win32(long path support): leave drive-less absolute paths intact
154:  6495fe5fa4 = 156:  72f6e831db compat/fsmonitor/fsm-*-win32: support long paths
155:  bee76e3570 = 157:  058e88ba94 clean: suggest using `core.longPaths` if paths are too long to remove
156:  ab3075f79a = 158:  3c085ad1f6 mingw: Support `git_terminal_prompt` with more terminals
157:  d75da2a89b = 159:  dd037be7dd compat/terminal.c: only use the Windows console if bash 'read -r' fails
158:  7bddcbdfad = 160:  3ebfeadcdf mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method
159:  c1635d4faf = 161:  66a656a7c6 Win32: symlink: move phantom symlink creation to a separate function
161:  5912fe3f2e = 162:  48295fc967 Introduce helper to create symlinks that knows about index_state
163:  209813a8fa = 163:  0a803b1d4c mingw: allow to specify the symlink type in .gitattributes
166:  168b88c116 = 164:  0321df2414 Win32: symlink: add test for `symlink` attribute
169:  e684226832 = 165:  03b0ce857c mingw: explicitly specify with which cmd to prefix the cmdline
171:  056b21d97a = 166:  e4a4376b49 mingw: when path_lookup() failed, try BusyBox
172:  a9454acf65 = 167:  108e98508a test-tool: learn to act as a drop-in replacement for `iconv`
173:  24fca84ace = 168:  62ca3568ad tests(mingw): if `iconv` is unavailable, use `test-helper --iconv`
174:  7973002571 = 169:  acaf04020c gitattributes: mark .png files as binary
175:  786bf1d89b = 170:  63cca8affd tests: move test PNGs into t/lib-diff/
160:  a708cbaf45 = 171:  a23817b79f mingw: introduce code to detect whether we're inside a Windows container
176:  8ab50fd1c3 = 172:  fc7fa783de tests: only override sort & find if there are usable ones in /usr/bin/
162:  2993baefc5 = 173:  f14230f28b mingw: when running in a Windows container, try to rename() harder
177:  d0087c666c = 174:  f0bf03dcf2 tests: use the correct path separator with BusyBox
165:  2d24b2f5a3 = 175:  42bd8c4347 mingw: move the file_attr_to_st_mode() function definition
178:  7dc1c054e6 = 176:  6111d86c25 mingw: only use Bash-ism `builtin pwd -W` when available
168:  c29ad56f41 = 177:  6eaefaafd7 mingw: Windows Docker volumes are *not* symbolic links
179:  792ca8586b = 178:  cbfde6bf65 tests (mingw): remove Bash-specific pwd option
170:  b175e48733 = 179:  18edeb647b mingw: work around rename() failing on a read-only file
180:  ed74cbc7d0 = 180:  893c6c636c test-lib: add BUSYBOX prerequisite
181:  a6015ff660 = 181:  4d4368d318 t5003: use binary file from t/lib-diff/
183:  b898b568e6 = 182:  c78dc6c1d4 t5532: workaround for BusyBox on Windows
185:  3d79bee413 = 183:  3a040c4461 t5605: special-case hardlink test for BusyBox-w32
187:  118811627e = 184:  7324c0ae64 t5813: allow for $PWD to be a Windows path
189:  9f92bfa792 = 185:  023f0ff668 t9200: skip tests when $PWD contains a colon
182:  39ec3735ed = 186:  2473977e5a Describe Git for Windows' architecture [no ci]
191:  5e86682018 = 187:  3e5f1c8a94 mingw: kill child processes in a gentler way
192:  a9665dcfd3 = 188:  6ff560f15f mingw: optionally enable wsl compability file mode bits
184:  6e18c50dc4 = 189:  5765f048a2 Modify the Code of Conduct for Git for Windows
195:  da7595feb7 = 190:  116a336a93 mingw: really handle SIGINT
186:  aa5599469b = 191:  6af730274f CONTRIBUTING.md: add guide for first-time contributors
196:  c305dd39f3 = 192:  19d3dfdf4d Partially un-revert "editor: save and reset terminal after calling EDITOR"
188:  b758d3f4ee = 193:  289c1e8836 README.md: Add a Windows-specific preamble
197:  fa1c7b0ddd = 194:  0cbe73fc40 reset: reinstate support for the deprecated --stdin option
190:  e0a1d7ae5a = 195:  02bd5e81cb Add an issue template
193:  18482f4421 = 196:  16cc8a772a Add a GitHub workflow to monitor component updates
198:  2487c4851c = 197:  865fa7432a fsmonitor: reintroduce core.useBuiltinFSMonitor
194:  f9bf9ce079 = 198:  52195e0f15 Modify the GitHub Pull Request template (to reflect Git for Windows)
199:  8689d143d9 = 199:  0028dcb9ad dependabot: help keeping GitHub Actions versions up to date
200:  1c66437f13 = 200:  a141191b7a SECURITY.md: document Git for Windows' policies