<details><summary>Range-diff relative to -rc2</summary> * 1:8c8a20738d= 1:bbc14d7107t9350: point out that refs are not updated correctly * 2:25fb03214d= 2:b5fe0f6cb4transport-helper: add trailing -- * 3:dca2663322= 3:c74f47bdb3remote-helper: check helper status after import/export * 6:f6f9f1c5a4= 4:6166ef7964gitk(Windows): avoid inadvertently calling executables in the worktree * 7:47dc063320= 5:dd17fae001Always auto-gc after calling a fast-import transport * 10:c0d09b9c5f= 6:a1108cf540mingw: include the Python parts in the build * 11:d55d5e5d28= 7:a60cef9296win32/pthread: avoid name clashes with winpthread * 12:72f78bd097= 8:3eaa1ce48egit-compat-util: avoid redeclaring _DEFAULT_SOURCE * 13:f7e4509ffb= 9:461207c9e8Import the source code of mimalloc v2.1.2 * 14:0c0209d422= 10:dfda515d0emimalloc: adjust for building inside Git * 15:a27ec228d4= 11:1499dbda56mimalloc: offer a build-time option to enable it * 4:b536507c35= 12:ec0016cb64mingw: demonstrate a problem with certain absolute paths * 5:90288be17b= 13:c2b8b3d3d9clean: do not traverse mount points * 16:2524a044fa= 14:080c8517efmimalloc: use "weak" random seed when statically linked * 8:2dcf725f2e= 15:e75cb3b514mingw: allow absolute paths without drive prefix * 9:00dad35ac2= 16:64e8496b7eclean: remove mount points when possible * 17:b8668153da= 17:11ebfb3833mingw: use mimalloc * 18:5dcfd019e1= 18:6b608e8991transport: optionally disable side-band-64k * 23:0dd5d9410a= 19:0cb219f0a4mingw: ensure valid CTYPE * 24:bf75da68b3= 20:0bc4c90b37mingw: demonstrate a `git add` issue with NTFS junctions * 26:07676d96f1= 21:345d8dd1b6mingw: allow `git.exe` to be used instead of the "Git wrapper" * 27:6c91598dc4= 22:13709f0783strbuf_realpath(): use platform-dependent API if available * 29:fe6fb0ec43= 23:3db90c39c0mingw: ignore HOMEDRIVE/HOMEPATH if it points to Windows' system directory * 30:058aad7a72= 24:acc5a14127http: use new "best effort" strategy for Secure Channel revoke checking * 20:6d49ea61fc= 25:d7476fc7ebmingw: do resolve symlinks in `getcwd()` * 21:09d7dec59c= 26:2b6f2917bbmingw: fix fatal error working on mapped network drives on Windows * 31:6c2313d64d= 27:d919252066clink.pl: fix MSVC compile script to handle libcurl-d.lib * 32:7231ff03b6= 28:132f4314d1mingw: implement a platform-specific `strbuf_realpath()` * 22:d2efb3e4c1= 29:ccdb636f7evcxproj: unclash project directories with build outputs * 25:6a67ad3cd3= 30:c532ef35c7t5505/t5516: allow running without `.git/branches/` in the templates * 28:f79ee51053= 31:adfc048ec3t5505/t5516: fix white-space around redirectors * 33:432f1018a9= 32:ca535032adt3701: verify that we can add *lots* of files interactively * 34:ebd57fe043= 33:c3d5ebcdf1git add -i: handle CR/LF line endings in the interactive input * 45:a17f9f86ad= 34:201c0e830fcommit: accept "scissors" with CR/LF line endings * 46:9874912bb2= 35:ae133a0ea9t0014: fix indentation * 47:4a85fd17c5= 36:ac73ea47ecgit-gui: accommodate for intent-to-add files * 35:5cc86b2fec= 37:77283d028dclink.pl: fix libexpatd.lib link error when using MSVC * 36:1430754f8a= 38:4bff95d54cMakefile: clean up .ilk files when MSVC=1 * 37:5c8e388900= 39:db01c407b8vcbuild: add support for compiling Windows resource files * 38:e18b12ccf4= 40:8f5ad65c77config.mak.uname: add git.rc to MSVC builds * 39:b442bcd8de= 41:3e47c796ebclink.pl: ignore no-stack-protector arg on MSVC=1 builds * 40:bfd7b0fce4= 42:b59e4b9353clink.pl: move default linker options for MSVC=1 builds * 41:fbce80fb7b= 43:49cf4b67edbuildsystems: remove duplicate clause * 48:6612874501= 44:81ee80b54fvcpkg_install: detect lack of Git * 42:03f535e73e= 45:adb78670a8vcxproj: handle resource files, too * 49:75993b4a4f= 46:e3729ad925vcpkg_install: add comment regarding slow network connections * 43:5016af712e= 47:69d15a3827vcxproj: ignore -fno-stack-protector and -fno-common * 50:e96a3499ce= 48:79bb88cfacvcxproj: support building Windows/ARM64 binaries * 44:6f462b5f80= 49:f1b2fd699fvcxproj: handle GUI programs, too * 51:0559b8f3bf= 50:ff822c640fvcbuild: install ARM64 dependencies when building ARM64 binaries * 57:5663ad415b= 51:f45352ca45cmake: install headless-git. * 52:358ba6b62f= 52:6e69568529vcbuild: add an option to install individual 'features' * 53:7b331668db= 53:b3ab8b78d1cmake: allow building for Windows/ARM64 * 54:15e901f834= 54:d7655970bbci(vs-build) also build Windows/ARM64 artifacts * 55:040847f4c5= 55:f8c6875658Add schannel to curl installation * 56:1cd5f8bffd= 56:c80d4f9090cmake(): allow setting HOST_CPU for cross-compilation * 64:95727aca15= 57:3aeb23b738CMake: default Visual Studio generator has changed * 68:beea9e12ca= 58:c20c6eee80subtree: update `contrib/subtree` `test` target * 66:127faab49a= 59:1033d6fb5e.gitignore: add Visual Studio CMakeSetting.json file * 58:6704142a96= 60:1e95a2f612mingw: allow for longer paths in `parse_interpreter()` * 59:296b420d82= 61:48c6336d00compat/vcbuild: document preferred way to build in Visual Studio * 60:8a42909e25= 62:921f35cadahttp: optionally send SSL client certificate * 71:3e7da28ee9= 63:1fcbe5cba6ci: run `contrib/subtree` tests in CI builds * 61:10a5c81ac1= 64:6183d2da27hash-object: demonstrate a >4GB/LLP64 problem * 62:3bef351a5b= 65:23fe600251write_object_file_literally(): use size_t * 63:2c008c51f8= 66:c22d98bc72object-file.c: use size_t for header lengths * 65:c35308a76a= 67:4f197bd47dhash algorithms: use size_t for section lengths * 67:3d25b0eff5= 68:c4551e70dbhash-object --stdin: verify that it works with >4GB/LLP64 * 69:fafa720aae= 69:40431da795CMakeLists: add default "x64-windows" arch for Visual Studio * 70:11b2ac66ec= 70:ce0d0a9bafhash-object: add another >4GB/LLP64 test case * 82:4cd9933bb3= 71:b045dfa18esetup: properly use "%(prefix)/" when in WSL * 72:1bb4d11435= 72:86670c89a8CMake: show Win32 and Generator_platform build-option values * 73:fff28fcf13= 73:d13b2b6f0binit: do parse _all_ core.* settings early * 74:1a67a18cf4= 74:1961e700e6hash-object: add a >4GB/LLP64 test case using filtered input * 85:bffde5dd50= 75:307bb0547ecompat/mingw.c: do not warn when failing to get owner * 75:820a555c71= 76:7324a351e4vcxproj: allow building with `NO_PERL` again * 76:66d8ef53b1= 77:348fae0402vcxproj: require C11 * 77:5c867e7adc= 78:102e426b4avcxproj: ignore the `-pedantic` option * 78:777ec5856d= 79:32973aab63vcxproj: include reftable when committing `.vcxproj` files * 79:0aa5472d27= 80:60299ef25evcxproj: handle libreftable_test, too * 80:af26bf72c0= 81:a69adf6ed9vcxproj: avoid escaping double quotes in the defines * 81:9331662515= 82:331afd2601ci: adjust Azure Pipeline for `runs_on_pool` * 84:eddaab6585= 83:d4d7862dc6ci: stop linking the `prove` cache * 83:0ff2c1268d= 84:cadcb6dd24Add config option `windows.appendAtomically` * 89:814d99aaee= 85:b4b814ecc7ci: reinstate Azure Pipelines support * 86:e8fdcc39a9= 86:c71eebaae7mingw: $env:TERM="xterm-256color" for newer OSes * 87:beb405d40b= 87:404e0aa054winansi: check result and Buffer before using Name * 88:02c0dca1bc= 88:3f98d1317amingw: change core.fsyncObjectFiles = 1 by default * 90:876eee2c8f= 89:ebc3f7bc37azure-pipeline: drop the `GETTEXT_POISON` job * 91:136ed6b2e2= 90:3ec9280c32azure-pipeline: stop hard-coding `apt-get` calls * 92:3d2e22c575= 91:209f633b29azure-pipeline: drop the code to write to/read from a file share * 93:12b65ef9ee= 92:ac9ce7cd5cazure-pipeline: use partial clone/parallel checkout to initialize minimal-sdk * 94:e08e05b205= 93:a671d4136fazure-pipeline: downcase the job name of the `Linux32` job * 95:e3fa52e1d6= 94:231a570c17bswap.h: add support for built-in bswap functions * 96:01e8056d79= 95:a4cc607692MinGW: link as terminal server aware * 97:7acf493c8e= 96:7e22815598azure-pipeline: run static-analysis on jammy * 98:7423fab61a= 97:4c4a0d5e63Fix Windows version resources * 99:3a39c43704= 98:e80721de6fconfig.mak.uname: add support for clangarm64 * 100:bd79a1de70= 99:12dfa6893cstatus: fix for old-style submodules with commondir * 101:222abf90f2= 100:d9aa4c7614windows: skip linking `git-<command>` for built-ins * 102:2f6d027242= 101:58f6351bfchttp: optionally load libcurl lazily * 103:1440baad21= 102:6f3580c949http: support lazy-loading libcurl also on Windows * 104:09a6270725= 103:5c064c2ddahttp: when loading libcurl lazily, allow for multiple SSL backends * 105:8631bd25e5= 104:f3cd3ed403windows: fix Repository>Explore Working Copy * 106:f89dc5313b= 105:a8bd077c4bmingw: do load libcurl dynamically by default * 107:48cc7ed780= 106:0959164055Add a GitHub workflow to verify that Git/Scalar work in Nano Server * 108:5079c0195f= 107:171878e1b3mingw: suggest `windows.appendAtomically` in more cases * 109:526958a9ad= 108:a3742f4833win32: use native ANSI sequence processing, if possible * 110:8d4b504dff= 109:52640776d3git.rc: include winuser.h * 113:659c640e12= 110:4d9ebe3839ci: work around a problem with HTTP/2 vs libcurl v8.10.0 * 114:1de9cad127= 111:ef1206c7aepack-objects: add --full-name-hash option * 115:ed17b4ff77= 112:a79d35ac8arepack: test --full-name-hash option * 116:0990abf98a= 113:8da7363275pack-objects: add GIT_TEST_FULL_NAME_HASH * 117:acfc3341f1= 114:9b1f343258git-repack: update usage to match docs * 111:5a7a5bac81= 115:dbd4e4a01dcommon-main.c: fflush stdout buffer upon exit * 112:7c23b9efa1= 116:7b12c55224t5601/t7406(mingw): do run tests with symlink support * 121:d43345128b= 117:43ad97032dwin32: ensure that `localtime_r()` is declared even in i686 builds * 122:c12070c703= 118:fd55edeb07Fallback to AppData if XDG_CONFIG_HOME is unset * 123:5e1a6837f8= 119:f08d175d85run-command: be helpful with Git LFS fails on Windows 7 * 118:33f3064093= 120:fe91a8a193p5313: add size comparison test * 119:9fb1426137= 121:9e9b2949a3test-tool: add helper for name-hash values * 120:131c260fc4= 122:36064b60c3repack/pack-objects: mark `--full-name-hash` as experimental * 124:74ce00b92e= 123:98030c3bc2path-walk: introduce an object walk by path * 125:a2cf338a39= 124:4534fc6d5ft6601: add helper for testing path-walk API * 126:e34dc7242a= 125:048428acdfpath-walk: allow consumer to specify object types * 127:0e42bfa362= 126:a3d393ba9epath-walk: allow visiting tags * 128:63fa6342a3= 127:e35f96d76frevision: create mark_trees_uninteresting_dense() * 129:e545bee799= 128:ee8deefd88path-walk: add prune_all_uninteresting option * 130:d90b21c3cd= 129:f997fc8a18pack-objects: extract should_attempt_deltas() * 131:159547f7c9= 130:7075c09679pack-objects: add --path-walk option * 132:fc70c9fc1f= 131:2d88d3f888pack-objects: introduce GIT_TEST_PACK_PATH_WALK * 133:34e991a53a= 132:1d621e1bc2repack: add --path-walk option * 134:557e23b741= 133:91c1e93319pack-objects: enable --path-walk via config * 135:b1d96616a2= 134:14f998ccfdscalar: enable path-walk during push via config * 136:7b59e6ca2a= 135:4bad79d7d3pack-objects: refactor path-walk delta phase * 137:a7681ff0cc= 136:0603e43764pack-objects: thread the path-based compression * 138:9ed9a44c5a= 137:23ae924500path-walk API: avoid adding a root tree more than once * 140:5de5395b06= 138:58eb7f1388backfill: add builtin boilerplate * 141:ec146ba14f= 139:ebd1692609backfill: basic functionality and tests * 142:dc949345c9= 140:6bbc831ec6backfill: add --batch-size=<n> option * 143:35b7e38d0f= 141:4f329aa391backfill: add --sparse option * 144:2264e15b42= 142:5126f20b04backfill: assume --sparse when sparse-checkout is enabled * 145:a86d017035= 143:d0bd4c04aabackfill: mark it as experimental * 146:c6b7ce0285= 144:2787935914survey: stub in new experimental 'git-survey' command * 147:7d894d8f43= 145:81a04f41c9survey: add command line opts to select references * 148:0d8393e8c4= 146:3ee79f0a2bsurvey: start pretty printing data in table form * 149:db19259aeb= 147:2f3acdf2c4survey: add object count summary * 150:4019c9076f= 148:ea53fbb6b4survey: summarize total sizes by object type * 151:1edff6de14= 149:e073a4283csurvey: show progress during object walk * 152:e65957e9ef= 150:2c1b1631d5survey: add ability to track prioritized lists * 153:fc9fb68b33= 151:64b2ec2251survey: add report of "largest" paths * 154:5c03374fcd= 152:59481d173fsurvey: add --top=<N> option and config * 155:c1267cca01= 153:31789fdd91survey: clearly note the experimental nature in the output * 156:084fec02a2= 154:c847baace9path-walk: improve path-walk speed with many tags * 19:22ca7af048= 155:5c9651358fmingw: make sure `errno` is set correctly when socket operations fail * 139:1350d79fe1(upstream:d02c37c3e6) < -: ------------ t-reftable-basics: stop assuming that `malloc` is not a constant * 271:af9a2b699f= 156:78e72dcb91compat/mingw: handle WSA errors in strerror * 272:0cf45c8d9f! 157:fd6b18f186compat/mingw: drop outdated comment ``````diff @@ Metadata ## Commit message ## compat/mingw: drop outdated comment - The part about keeping the original error number hasn't been accurate since - commitc11f75c(mingw: make sure errno is set correctly when socket - operations fail, 2019-11-25) and the part about strerror() not knowing - about these errors is untrue since the previous commit. + This comment has been true for the longest time; The combination of the + two preceding commits made it incorrect, so let's drop that comment. Signed-off-by: Matthias Aßhauer <mha1993@live.de> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> `````` * 273:c4d7ea8372= 158:5ae96a2444t0301: actually test credential-cache on Windows * 274:ef52c17b50= 159:09fe109da4credential-cache: handle ECONNREFUSED gracefully * 157:09c9eafeea= 160:8765262b7eWin32: make FILETIME conversion functions public * 158:8a2cf44a14= 161:afb6c97110Win32: dirent.c: Move opendir down * 159:8bccc70af1= 162:539491295fmingw: make the dirent implementation pluggable * 160:d70dde087f= 163:4d6c9ae3c6Win32: make the lstat implementation pluggable * 161:79b7550ae6= 164:6d933f6fcemingw: add infrastructure for read-only file system level caches * 162:31d1d184a7= 165:4bd5d052ddmingw: add a cache below mingw's lstat and dirent implementations * 163:fedce44843= 166:ac62ab4e13fscache: load directories only once * 164:101b990185= 167:0b4d50d1b3fscache: add key for GIT_TRACE_FSCACHE * 165:537c684adf= 168:22e59f4a26fscache: remember not-found directories * 166:26e514b94c= 169:6f5197b4b0fscache: add a test for the dir-not-found optimization * 167:4a0b366e4a= 170:6b3627fd06add: use preload-index and fscache for performance * 168:de1f16b8ef= 171:bd69cf7f40dir.c: make add_excludes aware of fscache during status * 169:ccae4a722a= 172:3de1d72906fscache: make fscache_enabled() public * 170:675d8dc7c4= 173:b8686d71cadir.c: regression fix for add_excludes with fscache * 171:62a3d3ca3d= 174:b2c8d16d2ffetch-pack.c: enable fscache for stats under .git/objects * 172:71c8974605= 175:2bdea0514fcheckout.c: enable fscache for checkout again * 173:7ffa2ecc49= 176:ade2577d4cEnable the filesystem cache (fscache) in refresh_index(). * 174:0c81d792d9= 177:72e728293bfscache: use FindFirstFileExW to avoid retrieving the short name * 175:d27fb3c230= 178:24990f964bstatus: disable and free fscache at the end of the status command * 176:b0da78faa7= 179:17b2ca1d35fscache: add GIT_TEST_FSCACHE support * 177:c27092b1de= 180:71c001b3c5fscache: add fscache hit statistics * 178:409d6ec269= 181:3d55d81299mem_pool: add GIT_TRACE_MEMPOOL support * 179:0d603f9e58= 182:b0d0b1427cfscache: fscache takes an initial size * 180:580ced925d= 183:d04257110afscache: update fscache to be thread specific instead of global * 181:1ad0115e1d= 184:f5368b6253fscache: teach fscache to use mempool * 182:8e76d16a2b= 185:31d40058ebfscache: make fscache_enable() thread safe * 184:fe8536ee57= 186:cf693a8923fscache: teach fscache to use NtQueryDirectoryFile * 186:f67147a0f6= 187:e47cadc54eunpack-trees: enable fscache for sparse-checkout * 188:8ee5310485= 188:5fc6a7c28afscache: remember the reparse tag for each entry * 190:00da8eea04= 189:014d3fe6dcfscache: implement an FSCache-aware is_mount_point() * 183:8393a50ec2= 190:7182f923a8git-gui: provide question helper for retry fallback on Windows * 192:36b6ed30ff= 191:bc90e75a3fclean: make use of FSCache * 185:6704d86034= 192:25f46e372fgit gui: set GIT_ASKPASS=git-gui--askpass if not set yet * 193:908c5a19b1= 193:138f2a25e2gitk: Unicode file name support * 187:2bd96653e8= 194:e1f73ec6c9git-gui--askyesno: fix funny text wrapping * 194:1a36bff0cc= 195:5c6b2a6873gitk: Use an external icon file on Windows * 189:7117b15377= 196:b532ee6052git-gui--askyesno: allow overriding the window title * 195:8999621557= 197:4a5f1dcc43gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6 * 191:cd492f2f91= 198:d033151da3git-gui--askyesno (mingw): use Git for Windows' icon, if available * 196:cafd4841f8= 199:17d1088962gitk: make the "list references" default window width wider * 197:327543d17f= 200:6adb8e4697pack-objects (mingw): demonstrate a segmentation fault with large deltas * 198:bfc3db8bb9= 201:94378c11aemingw: support long paths * 199:05674cc789= 202:a5d11abc13Win32: fix 'lstat("dir/")' with long paths * 200:4ec7736d89= 203:3c4cd629b6win32(long path support): leave drive-less absolute paths intact * 201:884eda4cbb= 204:072902edbbmingw: Support `git_terminal_prompt` with more terminals * 202:448abe11dd= 205:e79bbe4a3dcompat/terminal.c: only use the Windows console if bash 'read -r' fails * 203:7f91760897= 206:0449fa6f97mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method * 204:af1cd456aa= 207:37575e031estrbuf_readlink: don't call readlink twice if hint is the exact link size * 210:5f4c415e89= 208:314d9aa624compat/fsmonitor/fsm-*-win32: support long paths * 211:4b2711a62f= 209:22868008f3clean: suggest using `core.longPaths` if paths are too long to remove * 205:dedb1ae9cc= 210:16ba97eb38strbuf_readlink: support link targets that exceed PATH_MAX * 206:2e09e44445= 211:3bbb298a4clockfile.c: use is_dir_sep() instead of hardcoded '/' checks * 207:aadf12406a= 212:014c9ba727Win32: don't call GetFileAttributes twice in mingw_lstat() * 208:de191d1118= 213:a5e362e390Win32: implement stat() with symlink support * 209:af7734ab2e= 214:70e161c34dWin32: remove separate do_lstat() function * 212:7a45cf7089= 215:6a57f096f1Win32: let mingw_lstat() error early upon problems with reparse points * 213:6c99a157e9= 216:d1a637d8c0mingw: teach fscache and dirent about symlinks * 214:41c5c14fb1= 217:b160896166Win32: lstat(): return adequate stat.st_size for symlinks * 215:65b8430fce= 218:3b126ac38bWin32: factor out retry logic * 216:a67d839ab2= 219:60b07aed45Win32: change default of 'core.symlinks' to false * 217:24160dbefb= 220:eddaa1718bWin32: add symlink-specific error codes * 218:d3df2807d0= 221:db44028fceWin32: mingw_unlink: support symlinks to directories * 219:87b35ec1dc= 222:9be895cbdfWin32: mingw_rename: support renaming symlinks * 220:4a58657ad9= 223:0ee6c2c23eWin32: mingw_chdir: change to symlink-resolved directory * 221:585b4bb51c= 224:6fa7f5368cWin32: implement readlink() * 222:4236f8cb71= 225:16c8396db8mingw: lstat: compute correct size for symlinks * 223:17bf729c5e= 226:4bcc8a54d8Win32: implement basic symlink() functionality (file symlinks only) * 224:f7ab0fb397= 227:0a04e0774cWin32: symlink: add support for symlinks to directories * 225:96891c3624= 228:e4a2ade497mingw: try to create symlinks without elevated permissions * 226:85d41e4398= 229:cffe5af35amingw: emulate stat() a little more faithfully * 227:c80d1410f0= 230:71f5ae4dd1mingw: special-case index entries for symlinks with buggy size * 228:06376e6537= 231:3b7f7fa99emingw: introduce code to detect whether we're inside a Windows container * 229:eb17c48a2d= 232:7cd902e040mingw: when running in a Windows container, try to rename() harder * 230:f33e574808= 233:11f08d458emingw: move the file_attr_to_st_mode() function definition * 231:167e81d42e= 234:f558a61b38mingw: Windows Docker volumes are *not* symbolic links * 232:e13c7c6888= 235:249fd8ae6bWin32: symlink: move phantom symlink creation to a separate function * 234:ad1b7a4320= 236:4d5a59ac62Introduce helper to create symlinks that knows about index_state * 235:3199b1b732= 237:61e072f3d1mingw: allow to specify the symlink type in .gitattributes * 236:faf1f46b16= 238:b093fc05d4Win32: symlink: add test for `symlink` attribute * 237:dfbdd01e8a= 239:07d0a7a29bmingw: explicitly specify with which cmd to prefix the cmdline * 238:0612f86152= 240:132edae753mingw: when path_lookup() failed, try BusyBox * 239:3b9554ef7f= 241:95e3587440test-lib: avoid unnecessary Perl invocation * 240:f6719f8c13= 242:bcec4b73c9test-tool: learn to act as a drop-in replacement for `iconv` * 241:d7f4c1d984= 243:cf2505f6c0tests(mingw): if `iconv` is unavailable, use `test-helper --iconv` * 242:f03dc970e2= 244:6c4d2587b1gitattributes: mark .png files as binary * 233:3e617a8144= 245:e333decb9bmingw: work around rename() failing on a read-only file * 243:14fa4bf093= 246:7a8d524aa8tests: move test PNGs into t/lib-diff/ * 244:87dc864970= 247:dbd5f28dfbtests: only override sort & find if there are usable ones in /usr/bin/ * 245:3789353ae4= 248:106450955atests: use the correct path separator with BusyBox * 246:6a6623b8ce= 249:d4424138d3mingw: only use Bash-ism `builtin pwd -W` when available * 247:7f70225772= 250:14549d6338tests (mingw): remove Bash-specific pwd option * 248:5503200290= 251:ace3077a3atest-lib: add BUSYBOX prerequisite * 249:7ccc72d4d6= 252:332f4145bbt5003: use binary file from t/lib-diff/ * 250:bf6204fb3b= 253:509990422et5532: workaround for BusyBox on Windows * 251:7c97cdd503= 254:680c13654ct5605: special-case hardlink test for BusyBox-w32 * 252:25a13abd59= 255:bb27736b52t5813: allow for $PWD to be a Windows path * 253:7e1cf7133c= 256:ac2fe470fdt9200: skip tests when $PWD contains a colon * 254:77fb64fc33= 257:9db019a61bmingw: add a Makefile target to copy test artifacts * 256:0adaeae337= 258:1ecb133cc2mingw: kill child processes in a gentler way * 258:3a711ce108= 259:4238ff7c7emingw: do not call xutftowcs_path in mingw_mktemp * 255:2e1f7ed403= 260:c4cee3523emingw: optionally enable wsl compability file mode bits * 257:64b0171160= 261:0eaad07959mingw: really handle SIGINT * 260:de57309669= 262:e1a61a8c2dPartially un-revert "editor: save and reset terminal after calling EDITOR" * 264:49453d0599= 263:6071d7ad49Describe Git for Windows' architecture [no ci] * 265:2890784120= 264:d94525a8b1Modify the Code of Conduct for Git for Windows * 266:2b556c9825= 265:6e5660dd6dCONTRIBUTING.md: add guide for first-time contributors * 267:b7c9a2bf15= 266:07c3ffcd94README.md: Add a Windows-specific preamble * 268:1f22ae108d= 267:126f9009d0Add an issue template * 259:a0a9279891= 268:fc4f4cdda7Add a GitHub workflow to monitor component updates * 269:5b004bcd6d= 269:a1fc7cd285Modify the GitHub Pull Request template (to reflect Git for Windows) * 261:db1e920795= 270:e4fe80e736reset: reinstate support for the deprecated --stdin option * 262:c359f03069= 271:c3c769bc06fsmonitor: reintroduce core.useBuiltinFSMonitor * 263:8732d4127b= 272:b18e4dc5a6dependabot: help keeping GitHub Actions versions up to date * 270:b6c04e48e4= 273:ed5a452566SECURITY.md: document Git for Windows' policies * 275:9b81fae3f9(upstream:1fbb8d7ecb) < -: ------------ builtin/blame: fix out-of-bounds read with excessive `--abbrev` * 276:049f0cf1a5(upstream:64f3ff3ffc) < -: ------------ GIT-VERSION-GEN: allow it to be run in parallel </details>
Git for Windows
This is Git for Windows, the Windows port of Git.
The Git for Windows project is run using a governance model. If you encounter problems, you can report them as GitHub issues, discuss them on Git for Windows' Google Group, and contribute bug fixes.
To build Git for Windows, please either install Git for Windows'
SDK, start its git-bash.exe, cd
to your Git worktree and run make, or open the Git worktree as a folder in
Visual Studio.
To verify that your build works, use one of the following methods:
-
If you want to test the built executables within Git for Windows' SDK, prepend
<worktree>/bin-wrappersto thePATH. -
Alternatively, run
make installin the Git worktree. -
If you need to test this in a full installer, run
sdk build git-and-installer. -
You can also "install" Git into an existing portable Git via
make install DESTDIR=<dir>where<dir>refers to the top-level directory of the portable Git. In this instance, you will want to prepend that portable Git's/cmddirectory to thePATH, or test by running that portable Git'sgit-bash.exeorgit-cmd.exe. -
If you built using a recent Visual Studio, you can use the menu item
Build>Install git(you will want to click onProject>CMake Settings for Gitfirst, then click onEdit JSONand then pointinstallRootto themingw64directory of an already-unpacked portable Git).As in the previous bullet point, you will then prepend
/cmdto thePATHor run using the portable Git'sgit-bash.exeorgit-cmd.exe. -
If you want to run the built executables in-place, but in a CMD instead of inside a Bash, you can run a snippet like this in the
git-bash.exewindow where Git was built (ensure that theEOFline has no leading spaces), and then paste into the CMD window what was put in the clipboard:clip.exe <<EOF set GIT_EXEC_PATH=$(cygpath -aw .) set PATH=$(cygpath -awp ".:contrib/scalar:/mingw64/bin:/usr/bin:$PATH") set GIT_TEMPLATE_DIR=$(cygpath -aw templates/blt) set GITPERLLIB=$(cygpath -aw perl/build/lib) EOF -
If you want to run the built executables in-place, but outside of Git for Windows' SDK, and without an option to set/override any environment variables (e.g. in Visual Studio's debugger), you can call the Git executable by its absolute path and use the
--exec-pathoption, like so:C:\git-sdk-64\usr\src\git\git.exe --exec-path=C:\git-sdk-64\usr\src\git helpNote: for this to work, you have to hard-link (or copy) the
.dllfiles from the/mingw64/bindirectory to the Git worktree, or add the/mingw64/bindirectory to thePATHsomehow or other.
To make sure that you are testing the correct binary, call ./git.exe version
in the Git worktree, and then call git version in a directory/window where
you want to test Git, and verify that they refer to the same version (you may
even want to pass the command-line option --build-options to look at the
exact commit from which the Git version was built).
Git - fast, scalable, distributed revision control system
Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals.
Git is an Open Source project covered by the GNU General Public License version 2 (some parts of it are under different licenses, compatible with the GPLv2). It was originally written by Linus Torvalds with help of a group of hackers around the net.
Please read the file INSTALL for installation instructions.
Many Git online resources are accessible from https://git-scm.com/ including full documentation and Git related tools.
See Documentation/gittutorial.txt to get started, then see
Documentation/giteveryday.txt for a useful minimum set of commands, and
Documentation/git-<commandname>.txt for documentation of each command.
If git has been correctly installed, then the tutorial can also be
read with man gittutorial or git help tutorial, and the
documentation of each command with man git-<commandname> or git help <commandname>.
CVS users may also want to read Documentation/gitcvs-migration.txt
(man gitcvs-migration or git help cvs-migration if git is
installed).
The user discussion and development of core Git take place on the Git mailing list -- everyone is welcome to post bug reports, feature requests, comments and patches to git@vger.kernel.org (read Documentation/SubmittingPatches for instructions on patch submission and Documentation/CodingGuidelines).
Those wishing to help with error message, usage and informational message
string translations (localization l10) should see po/README.md
(a po file is a Portable Object file that holds the translations).
To subscribe to the list, send an email to git+subscribe@vger.kernel.org (see https://subspace.kernel.org/subscribing.html for details). The mailing list archives are available at https://lore.kernel.org/git/, https://marc.info/?l=git and other archival sites. The core git mailing list is plain text (no HTML!).
Issues which are security relevant should be disclosed privately to the Git Security mailing list git-security@googlegroups.com.
The maintainer frequently sends the "What's cooking" reports that list the current status of various development topics to the mailing list. The discussion following them give a good reference for project status, development direction and remaining tasks.
The name "git" was given by Linus Torvalds when he wrote the very first version. He described the tool as "the stupid content tracker" and the name as (depending on your mood):
- random three-letter combination that is pronounceable, and not actually used by any common UNIX command. The fact that it is a mispronunciation of "get" may or may not be relevant.
- stupid. contemptible and despicable. simple. Take your pick from the dictionary of slang.
- "global information tracker": you're in a good mood, and it actually works for you. Angels sing, and a light suddenly fills the room.
- "goddamn idiotic truckload of sh*t": when it breaks