Skip to content

Merge 'readme' into HEAD

7e509c4
Select commit
Loading
Failed to load commit list.
Merged

Rebase to v2.54.0-rc1 #6166

Merge 'readme' into HEAD
7e509c4
Select commit
Loading
Failed to load commit list.
GitForWindowsHelper / shears-main succeeded Apr 10, 2026 in 0s

shears/main rebased successfully

Rebase Summary: main

From: 7e509c4476 (Merge 'readme' into HEAD, 2018-06-07) (116346c19a..7e509c4476)
To: 256f1d257f (Merge 'readme' into HEAD, 2018-06-07) (41d1b5d79e..256f1d257f)

Statistics

Metric Count
Total conflicts 0
Skipped (upstreamed) 0
Resolved surgically 0
Range-diff (click to expand)
  • 1: fc6a091 = 1: 0e57d3d sideband: mask control characters

  • 2: ef44855 = 2: 9877064 sideband: introduce an "escape hatch" to allow control characters

  • 3: 3caff5a = 3: 1226253 sideband: do allow ANSI color sequences by default

  • 4: 988d3e2 = 4: 6a19f1d unix-socket: avoid leak when initialization fails

  • 5: 790d861 = 5: f9fdab2 Merge branch 'disallow-control-characters-in-sideband-channel'

  • 6: 3c5c2e0 = 6: 6bb2b10 grep: prevent ^$ false match at end of file

  • 7: adadc0a = 7: da7d342 Merge branch 'fixes-from-the-git-mailing-list'

  • 8: 42b961e = 8: 2242621 t9350: point out that refs are not updated correctly

  • 9: 23a17a8 = 9: 6f77f7e transport-helper: add trailing --

  • 10: 8d92732 = 10: 0ec7e2c remote-helper: check helper status after import/export

  • 11: 705c35b = 11: 333d9c2 clean: do not traverse mount points

  • 12: d7bc2d4 = 12: 2d513d3 Always auto-gc after calling a fast-import transport

  • 13: a16863b = 13: 20a81f2 mingw: prevent regressions with "drive-less" absolute paths

  • 14: b2bb22f = 14: af620ee clean: remove mount points when possible

  • 15: e9a6c2b = 15: f6730c1 vcpkg_install: detect lack of Git

  • 16: 4cc6a3f = 16: 123af1f vcpkg_install: add comment regarding slow network connections

  • 17: bc0e545 = 17: db1845e vcbuild: install ARM64 dependencies when building ARM64 binaries

  • 18: 6b02984 = 18: cff454b vcbuild: add an option to install individual 'features'

  • 19: eb1647e = 19: 1ca7962 cmake: allow building for Windows/ARM64

  • 20: d1f8c87 = 20: 6ed9850 mingw: include the Python parts in the build

  • 21: 4c4f440 = 21: 87eb355 ci(vs-build) also build Windows/ARM64 artifacts

  • 22: 097e975 = 22: 45f5638 win32/pthread: avoid name clashes with winpthread

  • 23: 7d44229 = 23: 5b41a89 Add schannel to curl installation

  • 24: cca9a8e = 24: 33b5956 hash-object: demonstrate a >4GB/LLP64 problem

  • 25: a3a6422 = 25: 21aabd6 git-compat-util: avoid redeclaring _DEFAULT_SOURCE

  • 26: 01fe138 = 26: 67ad0f9 cmake(): allow setting HOST_CPU for cross-compilation

  • 27: 4fdd5db = 27: 321709d object-file.c: use size_t for header lengths

  • 28: 75820b6 = 28: 781af08 Import the source code of mimalloc v2.2.7

  • 29: d3c884c = 29: 9f49e2c CMake: default Visual Studio generator has changed

  • 30: 0b2230b = 30: 0ef40ac hash algorithms: use size_t for section lengths

  • 31: 8a4d103 = 31: ec061ba mimalloc: adjust for building inside Git

  • 32: 31587e6 = 32: 94535f2 mingw: demonstrate a git add issue with NTFS junctions

  • 33: 53b2101 = 33: c1d1903 .gitignore: add Visual Studio CMakeSetting.json file

  • 34: aba1205 = 34: ff1b96c hash-object --stdin: verify that it works with >4GB/LLP64

  • 35: 1733393 = 35: 45d4c1f mimalloc: offer a build-time option to enable it

  • 36: 5e1e746 = 36: 954a515 t5505/t5516: allow running without .git/branches/ in the templates

  • 37: ebe808d = 37: d44dcb4 strbuf_realpath(): use platform-dependent API if available

  • 38: 87de6d0 = 38: 612af38 http: use new "best effort" strategy for Secure Channel revoke checking

  • 39: 461d209 = 39: 2682980 subtree: update contrib/subtree test target

  • 40: ddff42e = 40: 9b5e61e CMakeLists: add default "x64-windows" arch for Visual Studio

  • 41: 752c364 = 41: 58bb572 hash-object: add another >4GB/LLP64 test case

  • 42: 60ec10f = 42: 66defed setup: properly use "%(prefix)/" when in WSL

  • 43: d150ca2 = 43: 21c58e0 Add config option windows.appendAtomically

  • 44: e90e8a2 = 44: d635121 mingw: use mimalloc

  • 45: 8dd0fee = 45: 2cc8955 t5505/t5516: fix white-space around redirectors

  • 46: 7b8d8b5 = 46: eca599c MinGW: link as terminal server aware

  • 47: 110c415 = 47: 012cec9 transport: optionally disable side-band-64k

  • 48: 684729d = 48: d5c6cf0 mingw: fix fatal error working on mapped network drives on Windows

  • 49: 9c3cb62 = 49: 789f820 clink.pl: fix MSVC compile script to handle libcurl-d.lib

  • 50: 22baded = 50: c0f91ce mingw: implement a platform-specific strbuf_realpath()

  • 51: 98fd173 = 51: de03d29 t3701: verify that we can add lots of files interactively

  • 52: 7574c91 = 52: ba24991 commit: accept "scissors" with CR/LF line endings

  • 53: b53656f = 53: c16e568 t0014: fix indentation

  • 54: c1b4dd4 = 54: 263a699 git-gui: accommodate for intent-to-add files

  • 55: 0652d00 = 55: a7f4cce mingw: allow for longer paths in parse_interpreter()

  • 56: b807d1b = 56: 8dc4c32 compat/vcbuild: document preferred way to build in Visual Studio

  • 57: 1af3dec = 57: 6727a18 http: optionally send SSL client certificate

  • 58: 7eb85a4 = 58: 9782a4a ci: run contrib/subtree tests in CI builds

  • 59: f98f30f = 59: a235324 CMake: show Win32 and Generator_platform build-option values

  • 60: 58bccec = 60: d064c2d hash-object: add a >4GB/LLP64 test case using filtered input

  • 61: d3a4eae = 61: ba3b567 compat/mingw.c: do not warn when failing to get owner

  • 62: bbb1fa4 = 62: b62879f mingw: $env:TERM="xterm-256color" for newer OSes

  • 63: b7f0184 = 63: 6842743 winansi: check result and Buffer before using Name

  • 64: 4f06f5d = 64: 5818f1c mingw: change core.fsyncObjectFiles = 1 by default

  • 65: a8433e5 = 65: 333914f Fix Windows version resources

  • 66: 8b5e432 = 66: e51412a status: fix for old-style submodules with commondir

  • 67: 74fc09c = 67: 22bb73b windows: skip linking git-<command> for built-ins

  • 68: 1d2fa87 = 68: 53cfbec mingw: stop hard-coding CC = gcc

  • 69: 6c629b3 = 69: be73920 mingw: drop the -D_USE_32BIT_TIME_T option

  • 70: 116347c = 70: 68780b2 mingw: only use -Wl,--large-address-aware for 32-bit builds

  • 71: 6e39129 = 71: afccb77 mingw: avoid over-specifying --pic-executable

  • 72: f765afd = 72: e13d855 mingw: set the prefix and HOST_CPU as per MSYS2's settings

  • 73: 849f69c = 73: 15ad8ba mingw: only enable the MSYS2-specific stuff when compiling in MSYS2

  • 74: 04c9fe6 = 74: dec46d8 mingw: rely on MSYS2's metadata instead of hard-coding it

  • 75: 1a5a5eb = 75: 69d2aa5 mingw: always define ETC_* for MSYS2 environments

  • 76: 4ba290e = 76: e0b508f max_tree_depth: lower it for clang builds in general on Windows

  • 77: c22c73f = 77: 7dc6427 mingw: ensure valid CTYPE

  • 78: 4dcf14e = 78: c4e914f ci: work around a problem with HTTP/2 vs libcurl v8.10.0

  • 79: ea00808 = 79: abd0049 mingw: allow git.exe to be used instead of the "Git wrapper"

  • 80: 8b59b36 = 80: 1b030d0 revision: create mark_trees_uninteresting_dense()

  • 81: e56925e = 81: 17f6147 mingw: ignore HOMEDRIVE/HOMEPATH if it points to Windows' system directory

  • 82: 73fd10d = 82: 23bc741 survey: stub in new experimental 'git-survey' command

  • 83: 0d1f2e1 = 83: 591c486 Merge branch 'dscho-avoid-d-f-conflict-in-vs-master'

  • 84: 4bb31c7 = 84: 4ba1805 survey: add command line opts to select references

  • 85: 675f0f6 = 85: 705fd7f clink.pl: fix libexpatd.lib link error when using MSVC

  • 86: 65bb0a6 = 86: 9acdb9e survey: start pretty printing data in table form

  • 87: f3b2e93 = 87: ff0fc43 Makefile: clean up .ilk files when MSVC=1

  • 88: 9dc8a65 = 88: f3b2557 survey: add object count summary

  • 89: c1218b2 = 89: 2cd2442 vcbuild: add support for compiling Windows resource files

  • 90: 8c9a377 = 90: 06ab1be survey: summarize total sizes by object type

  • 91: 1644441 = 91: e60bb26 config.mak.uname: add git.rc to MSVC builds

  • 92: 6fc5d72 = 92: 4fd13ac survey: show progress during object walk

  • 93: 559e42c = 93: bca7d6c mingw: make sure errno is set correctly when socket operations fail

  • 94: adb34a0 = 94: ff379a4 clink.pl: ignore no-stack-protector arg on MSVC=1 builds

  • 95: dbabed8 = 95: d9bf745 http: optionally load libcurl lazily

  • 96: 61a029b = 96: ea32690 survey: add ability to track prioritized lists

  • 97: cb76559 = 97: 2232336 compat/mingw: handle WSA errors in strerror

  • 98: fafbc95 = 98: a15562d t5563: verify that NTLM authentication works

  • 99: 12d1827 = 99: 879f702 clink.pl: move default linker options for MSVC=1 builds

  • 100: f480d3d = 100: 3f86cc4 http: support lazy-loading libcurl also on Windows

  • 101: cf60a92 = 101: ff89e95 survey: add report of "largest" paths

  • 102: 3db1ed5 = 102: 94dc667 compat/mingw: drop outdated comment

  • 103: 373fc5b = 103: 70e864a http: disallow NTLM authentication by default

  • 104: a278bd0 = 104: 97d5988 cmake: install headless-git.

  • 105: 1ad08c2 = 105: 1d2c66f http: when loading libcurl lazily, allow for multiple SSL backends

  • 106: 1ae0ff7 = 106: a800693 survey: add --top= option and config

  • 107: 72e9d9d = 107: a190dc8 t0301: actually test credential-cache on Windows

  • 108: 9f3207b = 108: fba7ede http: warn if might have failed because of NTLM

  • 109: 3b90218 = 109: f78bd85 git.rc: include winuser.h

  • 110: bb68924 = 110: b7ca219 mingw: do load libcurl dynamically by default

  • 111: 7c7e3e7 = 111: 543b8bd Add a GitHub workflow to verify that Git/Scalar work in Nano Server

  • 112: 07fb88e = 112: aa19c4e mingw: suggest windows.appendAtomically in more cases

  • 113: ab3f69b = 113: fb508e2 win32: use native ANSI sequence processing, if possible

  • 114: e47ddf7 = 114: 21df6c5 common-main.c: fflush stdout buffer upon exit

  • 115: 05b965a = 115: 22f4f62 t5601/t7406(mingw): do run tests with symlink support

  • 116: ae85ca2 = 116: 5ee2a3e win32: ensure that localtime_r() is declared even in i686 builds

  • 117: 57b0eba = 117: 162305f Fallback to AppData if XDG_CONFIG_HOME is unset

  • 118: 8ead0db = 118: 969c10e run-command: be helpful with Git LFS fails on Windows 7

  • 119: 7833200 = 119: 403b6f7 survey: clearly note the experimental nature in the output

  • 120: 16e75ca = 120: e103c29 credential-cache: handle ECONNREFUSED gracefully

  • 121: 395c732 = 121: 1cc31ec reftable: do make sure to use custom allocators

  • 122: ffb4d5c = 122: 3f5cbb9 check-whitespace: avoid alerts about upstream commits

  • 123: dd3f142 = 123: d2cdbb5 t/t5571-prep-push-hook.sh: Add test with writing to stderr

  • 124: 4e4f34c = 124: 7b982f4 credential: advertise NTLM suppression and allow helpers to re-enable

  • 154: 85d5f72 = 125: de7d4ee dir: do not traverse mount points

  • 284: 14b0fc7 ! 126: 5ddf7c2 Detect number of cores better on multi-socket systems (#6108)

    @@
      ## Metadata ##
    -Author: Johannes Schindelin <Johannes.Schindelin@gmx.de>
    +Author: Matthias Aßhauer <mha1993@live.de>
     
      ## Commit message ##
    -    Detect number of cores better on multi-socket systems (#6108)
    +    win32: thread-utils: handle multi-socket systems
     
    -    While the currently used way to detect the number of CPU cores ond
    -    Windows is nice and straight-forward, GetSystemInfo() only [gives us
    -    access to the number of processors within the current
    -    group.](https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/ns-sysinfoapi-system_info#members)
    +    While the currently used way to detect the number of CPU cores on
    +    Windows is nice and straight-forward, GetSystemInfo() only gives us
    +    access to the number of processors within the current group. [1]
     
         While that is usually fine for systems with a single physical CPU,
         separate physical sockets are typically separate groups.
     
    -    Switch to using GetLogicalProcessorInformationEx() to handle
    -    multi-socket
    +    Switch to using GetLogicalProcessorInformationEx() to handle multi-socket
         systems better.
     
    -    I've tested this on a physical single-socket x86-64 and a physical
    -    dual-socket x86-64 system, and on a virtual single-socket ARM64 system.
    -    Physical [multi-socket ARM64 systems seem to
    -    exist](https://cloudbase.it/ampere-altra-industry-leading-arm64-server/),
    -    but I don't have access to such hardware and the hypervisor I use
    -    apparently can't emulate that either.
    +    [1] https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/ns-sysinfoapi-system_info#members
     
    - ## Documentation/git-svn.adoc ##
    -@@ Documentation/git-svn.adoc: SYNOPSIS
    - --------
    - [verse]
    - 'git svn' <command> [<options>] [<arguments>]
    -+(UNSUPPORTED!)
    - 
    - DESCRIPTION
    - -----------
    -
    - ## git-svn.perl ##
    -@@ git-svn.perl: sub term_init {
    - 			: new Term::ReadLine 'git-svn';
    - }
    - 
    -+sub deprecated_warning {
    -+    my @lines = @_;
    -+    if (-t STDERR) {
    -+        @lines = map { "\e[33m$_\e[0m" } @lines;
    -+    }
    -+    warn join("\n", @lines), "\n";
    -+}
    -+
    -+deprecated_warning(
    -+	"WARNING: \`git svn\` is no longer supported by the Git for Windows project.",
    -+	"See https://github.com/git-for-windows/git/issues/5405 for details."
    -+);
    -+
    - my $cmd;
    - for (my $i = 0; $i < @ARGV; $i++) {
    - 	if (defined $cmd{$ARGV[$i]}) {
    -
    - ## t/t9108-git-svn-glob.sh ##
    -@@ t/t9108-git-svn-glob.sh: test_expect_success 'test disallow multi-globs' '
    - 		svn_cmd commit -m "try to try"
    - 	) &&
    - 	test_must_fail git svn fetch three 2> stderr.three &&
    --	test_cmp expect.three stderr.three
    -+	sed "/^WARNING.*no.* supported/{N;d}" <stderr.three >stderr.three.clean &&
    -+	test_cmp expect.three stderr.three.clean
    - 	'
    - 
    - test_done
    -
    - ## t/t9109-git-svn-multi-glob.sh ##
    -@@ t/t9109-git-svn-multi-glob.sh: test_expect_success 'test disallow multiple globs' '
    - 		svn_cmd commit -m "try to try"
    - 	) &&
    - 	test_must_fail git svn fetch three 2> stderr.three &&
    --	test_cmp expect.three stderr.three
    -+	sed "/^WARNING.*no.* supported/{N;d}" <stderr.three >stderr.three.clean &&
    -+	test_cmp expect.three stderr.three.clean
    - 	'
    - 
    - test_done
    +    This fixes https://github.com/git-for-windows/git/issues/4766
     
    - ## t/t9168-git-svn-partially-globbed-names.sh ##
    -@@ t/t9168-git-svn-partially-globbed-names.sh: test_expect_success 'test disallow prefixed multi-globs' '
    - 		svn_cmd commit -m "try to try"
    - 	) &&
    - 	test_must_fail git svn fetch four 2>stderr.four &&
    --	test_cmp expect.four stderr.four &&
    -+	sed "/^WARNING.*no.* supported/{N;d}" <stderr.four >stderr.four.clean &&
    -+	test_cmp expect.four stderr.four.clean &&
    - 	git config --unset svn-remote.four.branches &&
    - 	git config --unset svn-remote.four.tags
    - 	'
    -@@ t/t9168-git-svn-partially-globbed-names.sh: test_expect_success 'test disallow multiple asterisks in one word' '
    - 		svn_cmd commit -m "try to try"
    - 	) &&
    - 	test_must_fail git svn fetch six 2>stderr.six &&
    --	test_cmp expect.six stderr.six
    -+	sed "/^WARNING.*no.* supported/{N;d}" <stderr.six >stderr.six.clean &&
    -+	test_cmp expect.six stderr.six.clean
    - 	'
    - 
    - test_done
    +    Co-Authored-by: Herman Semenov <GermanAizek@yandex.ru>
    +    Signed-off-by: Matthias Aßhauer <mha1993@live.de>
     
      ## thread-utils.c ##
     @@ thread-utils.c: int online_cpus(void)
  • 125: cbdb596 = 127: cf23c09 Merge 'remote-hg-prerequisites' into HEAD

  • 126: e9865ff = 128: fe4e320 Merge branch 'drive-prefix'

  • 127: b45685e = 129: d4b09eb Merge branch 'dont-clean-junctions'

  • 128: 9a8960f = 130: d8da2d8 Merge branch 'msys2-python'

  • 129: 39dfcf6 = 131: 6dfaf81 Update mimalloc to v2.2.7 (#6048)

  • 130: 5f08785 = 132: 36b790b Merge pull request #2375 from assarbad/reintroduce-sideband-config

  • 131: 1fc80b6 = 133: ef6e527 Merge pull request #2488 from bmueller84/master

  • 132: 4696f3a = 134: 485c9e6 Merge pull request #2501 from jeffhostetler/clink-debug-curl

  • 133: 734bca6 = 135: 52cbafd Merge pull request #2504 from dscho/access-repo-via-junction

  • 134: 963d542 = 136: e544c88 Merge pull request #2535 from dscho/schannel-revoke-best-effort

  • 135: f23c07e = 137: 960f5be Merge pull request #2618 from dscho/avoid-d/f-conflict-in-vs/master

  • 136: 295234d = 138: 2c316ad Merge 'add-p-many-files'

  • 137: c19b7ce = 139: 3be09d5 Merge pull request #2714 from lbonanomi/crlf-scissors

  • 138: bab78c9 = 140: 0623ac8 Merge pull request #2655 from jglathe/jg/t0014_trace_extra_info

  • 139: 8ef651f = 141: c7afffb Merge 'git-gui/js/intent-to-add'

  • 140: f7c3430 = 142: dbc50be Merge pull request #2351 from PhilipOakley/vcpkg-tip

  • 141: 56f9126 = 143: d84954d Merge pull request #2915 from dennisameling/windows-arm64-support

  • 142: 529212b = 144: 54e562e Merge pull request #3327 from dennisameling/fix-host-cpu

  • 143: b1b171b = 145: 90e555c Merge pull request #3165 from dscho/increase-allowed-length-of-interpreter-path

  • 144: 4bfc124 = 146: def0392 Merge pull request #3220 from dscho/there-is-no-vs/master-anymore

  • 145: e0b7e29 = 147: dc11612 Merge pull request #3293 from pascalmuller/http-support-automatically-sending-client-certificate

  • 146: 73bfb1a = 148: e4e0417 Merge pull request #3349 from vdye/feature/ci-subtree-tests

  • 147: 405fe07 = 149: 7fd459f Merge pull request #3306 from PhilipOakley/vs-sln

  • 148: 338227c = 150: 530281f Merge pull request #3533 from PhilipOakley/hashliteral_t

  • 149: 1b23d4d = 151: d20e810 Merge pull request #3791: Various fixes around safe.directory

  • 150: bb6cb61 = 152: 85d52fb Merge pull request #3751 from rkitover/native-term

  • 151: aa4df52 = 153: 34e3388 Merge pull request #3875 from 1480c1/wine/detect_msys_tty

  • 152: c2e6aeb = 154: 2ef5a0b Merge branch 'optionally-dont-append-atomically-on-windows'

  • 153: 880e0aa = 155: 791d24d Merge branch 'fsync-object-files-always'

  • 155: 8969f51 = 156: 209b7ab Merge pull request #3942 from rimrul/mingw-tsaware

  • 156: 26c2c07 = 157: aef9bcc Fix Windows version resources (#4092)

  • 157: 1d5cd8d = 158: 5eb74e8 Fix global repository field not being cleared (#4083)

  • 158: d341775 = 159: 61a3761 Skip linking the "dashed" git-<command>s for built-ins (#4252)

  • 159: 288a3db = 160: 1f7d3d2 Add full mingw-w64-git (i.e. regular MSYS2 ecosystem) support (#5971)

  • 160: 96d34c4 = 161: d3ba438 Merge pull request #2506 from dscho/issue-2283

  • 161: ea641ec = 162: 1fe6467 Merge pull request #2974 from derrickstolee/maintenance-and-headless

  • 162: 7b05da0 = 163: 8b03aa8 ARM64: Embed manifest properly (#4718)

  • 163: 3978aa7 = 164: 46e66ba Lazy load libcurl, allowing for an SSL/TLS backend-specific libcurl (#4410)

  • 164: 64d5214 = 165: 1b17604 Merge branch 'nano-server'

  • 165: 9de4abd = 166: a1c559a Additional error checks for issuing the windows.appendAtomically warning (#4528)

  • 166: f85eb86 = 167: 2d79256 win32: use native ANSI sequence processing, if possible (#4700)

  • 167: 191bbfd = 168: f02978d common-main.c: fflush stdout buffer when exit (#4901)

  • 168: f497474 = 169: 326422c Merge branch 'run-t5601-and-t7406-with-symlinks-on-windows-10'

  • 169: c805aa0 = 170: 344493f Merge branch 'Fix-i686-build-with-GCC-v14'

  • 170: e8f1800 = 171: 2d65ab2 Merge branch 'Fallback-to-AppData-if-XDG-CONFIG-HOME-is-unset'

  • 171: 0abd5a1 = 172: d774397 Merge branch 'run-command-be-helpful-when-Git-LFS-fails-on-Windows-7'

  • 172: 00f28f3 = 173: 6ad3b46 pack-objects: create new name-hash algorithm (#5157)

  • 173: 083f6b9 = 174: df2b00b Add path walk API and its use in 'git pack-objects' (#5171)

  • 174: e697d96 = 175: b4c2201 Add experimental 'git survey' builtin (#5174)

  • 175: fbc867a = 176: 4b38038 credential-cache: handle ECONNREFUSED gracefully (#5329)

  • 176: 50c4412 = 177: 12ae4ca Merge branch 'reftable-vs-custom-allocators'

  • 177: 9694652 = 178: 985c05d Merge branch 'check-whitespace-only-downstream'

  • 178: 3a1c062 = 179: 2ef68d6 t/t5571-prep-push-hook.sh: Add test with writing to stderr (#6063)

  • 179: 9e4a7b7 = 180: 591c22a Merge branch 'disallow-ntlm-auth-by-default'

  • 180: 123a480 = 181: 9a25e69 Don't traverse mount points in remove_dir_recurse() (#6151)

  • -: ---------- > 182: b632604 Detect number of cores better on multi-socket systems (#6108)

  • 181: da2b45f = 183: 354b2d6 Merge branch 'ready-for-upstream'

  • 182: c9209f8 = 184: 8f1dc34 ci(macos): skip the git p4 tests

  • 183: cdf6996 = 185: 62d522a ci(macos): skip the git p4 tests (#5954)

  • 184: 83e4f3a = 186: 8cc1479 git-gui--askyesno: fix funny text wrapping

  • 185: 09a4187 = 187: df12fc8 git-gui--askyesno (mingw): use Git for Windows' icon, if available

  • 186: fc5f1f0 = 188: b17486e Win32: make FILETIME conversion functions public

  • 240: ec3db9e = 189: 2d7a396 Merge branch 'git-gui-askyesno'

  • 187: 8fb9fff = 190: 5a5c816 Win32: dirent.c: Move opendir down

  • 188: e5c0f7c = 191: 142bb84 mingw: make the dirent implementation pluggable

  • 189: da38f15 = 192: 0443f51 Win32: make the lstat implementation pluggable

  • 190: 9f038e7 = 193: 9770aed mingw: add infrastructure for read-only file system level caches

  • 191: 402c883 = 194: db23674 mingw: add a cache below mingw's lstat and dirent implementations

  • 192: a701465 = 195: d9f466d fscache: load directories only once

  • 193: 9a3cb88 = 196: d922410 fscache: add key for GIT_TRACE_FSCACHE

  • 194: 66e87d9 = 197: 57633c2 fscache: remember not-found directories

  • 195: 643b774 = 198: b37a766 fscache: add a test for the dir-not-found optimization

  • 196: e208809 = 199: acd45a0 add: use preload-index and fscache for performance

  • 197: 790ed0e = 200: 2b11e70 dir.c: make add_excludes aware of fscache during status

  • 198: f4038de = 201: d2dc2ed fscache: make fscache_enabled() public

  • 199: e59f224 = 202: 141beee dir.c: regression fix for add_excludes with fscache

  • 200: cbb87bc = 203: 6875a48 fetch-pack.c: enable fscache for stats under .git/objects

  • 201: 3ccc050 = 204: 401d316 checkout.c: enable fscache for checkout again

  • 202: 663854f = 205: 4bc9a33 Enable the filesystem cache (fscache) in refresh_index().

  • 203: ae50697 = 206: c01c586 fscache: use FindFirstFileExW to avoid retrieving the short name

  • 204: e3d8ef0 = 207: cf33743 fscache: add GIT_TEST_FSCACHE support

  • 205: 829e1aa = 208: e933794 fscache: add fscache hit statistics

  • 206: 5d4cea0 = 209: 20ae059 unpack-trees: enable fscache for sparse-checkout

  • 207: 73caa5c = 210: 6ba03c0 status: disable and free fscache at the end of the status command

  • 208: f0f0a20 = 211: c4006bc mem_pool: add GIT_TRACE_MEMPOOL support

  • 209: 3eae7df = 212: 52df875 fscache: fscache takes an initial size

  • 210: dc76b2b = 213: bae8b65 fscache: update fscache to be thread specific instead of global

  • 211: 336da49 = 214: 8f31fa8 fscache: teach fscache to use mempool

  • 212: ede2248 = 215: 35fa37e fscache: make fscache_enable() thread safe

  • 213: 9af7e6a = 216: c24ac23 fscache: teach fscache to use NtQueryDirectoryFile

  • 214: ea6bf90 = 217: f1abbc6 fscache: remember the reparse tag for each entry

  • 215: d37558f = 218: b8cdf76 Merge branch 'fscache'

  • 216: 2ef5335 = 219: 974f575 fscache: implement an FSCache-aware is_mount_point()

  • 217: 0c28619 = 220: f681c5e Merge pull request #1909 from benpeart/free-fscache-after-status-gfw

  • 218: 9d51cf5 = 221: 42219aa clean: make use of FSCache

  • 219: 823d922 = 222: 8b624ff Merge remote-tracking branch 'benpeart/fscache-per-thread-gfw'

  • 220: f05b57c = 223: a9eb630 Merge branch 'dont-clean-junctions-fscache'

  • 221: c6a99da = 224: ab944e5 pack-objects (mingw): demonstrate a segmentation fault with large deltas

  • 222: 3b6db80 = 225: 294db1d mingw: support long paths

  • 223: 06de18d = 226: 5c9695b win32(long path support): leave drive-less absolute paths intact

  • 224: 9fc84bc = 227: a9ee1eb compat/fsmonitor/fsm-*-win32: support long paths

  • 225: 55d0551 = 228: b4c27b8 clean: suggest using core.longPaths if paths are too long to remove

  • 226: 038f3e5 = 229: 2973251 mingw: Support git_terminal_prompt with more terminals

  • 227: 4b8d033 = 230: 3b586dc compat/terminal.c: only use the Windows console if bash 'read -r' fails

  • 228: 43ffc90 = 231: 12e70d3 mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method

  • 229: 3d70a88 = 232: 14ecff0 Win32: symlink: move phantom symlink creation to a separate function

  • 230: bdc8796 = 233: ee82869 Introduce helper to create symlinks that knows about index_state

  • 231: e63a1f0 = 234: a45b3cc mingw: allow to specify the symlink type in .gitattributes

  • 233: 7e2b7aa = 235: 007ad5e Win32: symlink: add test for symlink attribute

  • 235: ab3b0a8 = 236: 0494aef mingw: explicitly specify with which cmd to prefix the cmdline

  • 237: c5d2006 = 237: 8cd9a19 mingw: when path_lookup() failed, try BusyBox

  • 239: 3d3d9d9 = 238: 6b2e51c test-tool: learn to act as a drop-in replacement for iconv

  • 232: 32c7312 = 239: 7cf0bba mingw: introduce code to detect whether we're inside a Windows container

  • 242: 85e7069 = 240: 0b65b2c tests(mingw): if iconv is unavailable, use test-helper --iconv

  • 234: 773c8c7 = 241: 102c6c0 mingw: when running in a Windows container, try to rename() harder

  • 243: 19bfceb = 242: a73c957 gitattributes: mark .png files as binary

  • 236: d587df3 = 243: 5ec29cc mingw: move the file_attr_to_st_mode() function definition

  • 244: 60bf29c = 244: 871bdc8 tests: move test PNGs into t/lib-diff/

  • 238: 5c32841 = 245: 8a7386e mingw: Windows Docker volumes are not symbolic links

  • 245: 8806f41 = 246: 44d67fe tests: only override sort & find if there are usable ones in /usr/bin/

  • 241: b3c27bc = 247: 19221eb mingw: work around rename() failing on a read-only file

  • 246: 4cfe8c3 = 248: 738dc5e tests: use the correct path separator with BusyBox

  • 247: 192c151 = 249: af8c30a mingw: only use Bash-ism builtin pwd -W when available

  • 248: fc31e51 = 250: 2a9b69f tests (mingw): remove Bash-specific pwd option

  • 249: 73ff4c7 = 251: d7f1af6 test-lib: add BUSYBOX prerequisite

  • 250: fc1f7bb = 252: 1db4c7f Merge branch 'gitk-and-git-gui-patches'

  • 251: 886fd89 = 253: d50ad6e t5003: use binary file from t/lib-diff/

  • 252: 4579392 = 254: 0c0e4f6 Merge branch 'long-paths'

  • 253: 03f3ace = 255: b22036c t5532: workaround for BusyBox on Windows

  • 254: dbf4ce5 = 256: 70b7dce Merge branch 'msys2'

  • 256: 6e381c0 = 257: b1880ed t5605: special-case hardlink test for BusyBox-w32

  • 257: 51f879f = 258: 3a6fd01 Merge 'docker-volumes-are-no-symlinks'

  • 259: f0d4781 = 259: 5e54f5d t5813: allow for $PWD to be a Windows path

  • 260: f1f8aff = 260: e47d4a1 mingw: try resetting the read-only bit if rename fails (#4527)

  • 262: d2e9190 = 261: d8af9ff t9200: skip tests when $PWD contains a colon

  • 263: 8f40f8f = 262: 6fd2337 Merge pull request #1897 from piscisaureus/symlink-attr

  • 255: 7d441d2 = 263: 27ae82a Describe Git for Windows' architecture [no ci]

  • 265: 87d4396 = 264: 5bfd7d3 mingw: kill child processes in a gentler way

  • 266: 8d9b9dc = 265: 0da6895 mingw: optionally enable wsl compability file mode bits

  • 267: 3520f1d = 266: 4fae058 Merge branch 'busybox-w32'

  • 258: 111284e = 267: 4265ce0 Modify the Code of Conduct for Git for Windows

  • 269: 995c08f = 268: c23f07a mingw: really handle SIGINT

  • 270: 59c1ffc = 269: 928d843 Merge branch 'wsl-file-mode-bits'

  • 261: 16f119d = 270: 14a4c0f CONTRIBUTING.md: add guide for first-time contributors

  • 273: d8a1d3d = 271: f4b186f Partially un-revert "editor: save and reset terminal after calling EDITOR"

  • 274: 7b4132a = 272: 0225ba6 Merge pull request #1170 from dscho/mingw-kill-process

  • 264: d79353f = 273: e61cfb5 README.md: Add a Windows-specific preamble

  • 275: 1e363b5 = 274: df36532 reset: reinstate support for the deprecated --stdin option

  • 279: 72c4900 = 275: 3fb6282 Merge branch 'un-revert-editor-save-and-reset'

  • 268: 45fc8ea = 276: 90faa36 Add an issue template

  • 271: 1520609 = 277: 5a24b30 Add a GitHub workflow to monitor component updates

  • 276: e343e65 = 278: f48f5b2 fsmonitor: reintroduce core.useBuiltinFSMonitor

  • 280: f4b8f7b = 279: 1770728 Merge branch 'phase-out-reset-stdin'

  • 272: df218c9 = 280: 080f1ef Modify the GitHub Pull Request template (to reflect Git for Windows)

  • 277: f7e9e42 = 281: 9d53d64 dependabot: help keeping GitHub Actions versions up to date

  • 281: 0b97d7e = 282: bd60e44 Merge branch 'deprecate-core.useBuiltinFSMonitor'

  • 278: 290bfd1 = 283: 49eaf36 SECURITY.md: document Git for Windows' policies

  • 282: 3e72712 = 284: 0dd74e1 Merge pull request #2837 from dscho/monitor-component-updates

  • 283: 8d2750e = 285: 256f1d2 Merge 'readme' into HEAD