git-for-windows / git

A fork of Git containing Windows-specific patches.
http://gitforwindows.org/
Other
8.31k stars 2.52k forks source link

Rebase to v2.45.2 #4986

Closed dscho closed 4 months ago

dscho commented 4 months ago
Range-diff relative to origin/main * 1: 580097bf95f (upstream: 580097bf95f) < -: ----------- http: reset POSTFIELDSIZE when clearing curl handle * 2: ea61df9d1e0 (upstream: ea61df9d1e0) < -: ----------- INSTALL: bump libcurl version to 7.21.3 * 3: 5d312ec8a49 (upstream: 5d312ec8a49) < -: ----------- remote-curl: add Transfer-Encoding header only for older curl * 4: 6741e917def (upstream: 6741e917def) < -: ----------- repository: avoid leaking `fsmonitor` data * 5: 3167b60e5bd (upstream: 3167b60e5bd) < -: ----------- ci: upgrade to using macos-13 * 6: c67cf4c4340 (upstream: c67cf4c4340) < -: ----------- test-lib: ignore uninteresting LSan output * 7: cf5dcd817ab (upstream: cf5dcd817ab) < -: ----------- ci(linux-asan/linux-ubsan): let's save some time * 8: ce47f7c85f6 (upstream: ce47f7c85f6) < -: ----------- GitHub Actions: update to checkout@v4 * 9: f6bed64ce2f (upstream: f6bed64ce2f) < -: ----------- GitHub Actions: update to github-script@v7 * 10: 7e1bcc8d631 (upstream: 7e1bcc8d631) < -: ----------- ci: bump remaining outdated Actions versions * 11: 213958f2482 (upstream: 213958f2482) < -: ----------- ci(linux32): add a note about Actions that must not be updated * 12: 150e6b0aedf (upstream: 150e6b0aedf) < -: ----------- builtin/clone: stop resolving symlinks when copying files * 13: d1bb66a546b (upstream: d1bb66a546b) < -: ----------- builtin/clone: abort when hardlinked source and target file differ * 14: 8c9c051bef3 (upstream: 8c9c051bef3) < -: ----------- setup.c: introduce `die_upon_dubious_ownership()` * 15: 1204e1a824c (upstream: 1204e1a824c) < -: ----------- builtin/clone: refuse local clones of unsafe repositories * 16: 5c5a4a1c059 (upstream: 5c5a4a1c059) < -: ----------- t0411: add tests for cloning from partial repo * 17: f4aa8c8bb11 (upstream: f4aa8c8bb11) < -: ----------- fetch/clone: detect dubious ownership of local repositories * 18: 7b70e9efb18 (upstream: 7b70e9efb18) < -: ----------- upload-pack: disable lazy-fetching by default * 19: e69ac42fcc8 (upstream: e69ac42fcc8) < -: ----------- docs: document security issues around untrusted .git dirs * 20: c30a574a0b5 (upstream: c30a574a0b5) < -: ----------- has_dir_name(): do not get confused by characters < '/' * 21: b20c10fd9b0 (upstream: b20c10fd9b0) < -: ----------- t7423: add tests for symlinked submodule directories * 22: 9cf85473209 (upstream: 9cf85473209) < -: ----------- clone: prevent clashing git dirs when cloning submodule in parallel * 23: 97065761333 (upstream: 97065761333) < -: ----------- submodules: submodule paths must not contain symlinks * 24: eafffd9ad41 (upstream: eafffd9ad41) < -: ----------- clone_submodule: avoid using `access()` on directories * 25: e8d06089444 (upstream: e8d06089444) < -: ----------- submodule: require the submodule path to contain directories only * 26: e4930e86c0d (upstream: e4930e86c0d) < -: ----------- t5510: verify that D/F confusion cannot lead to an RCE * 27: 850c3a220e7 (upstream: 850c3a220e7) < -: ----------- entry: report more colliding paths * 28: 31572dc420a (upstream: 31572dc420a) < -: ----------- clone: when symbolic links collide with directories, keep the latter * 29: 48c171d9274 (upstream: 48c171d9274) < -: ----------- find_hook(): refactor the `STRIP_EXTENSION` logic * 30: df93e407f06 (upstream: df93e407f06) < -: ----------- init: refactor the template directory discovery into its own function * 31: 584de0b4c23 (upstream: 584de0b4c23) < -: ----------- Add a helper function to compare file contents * 32: 8db1e8743c0 (upstream: 8db1e8743c0) < -: ----------- clone: prevent hooks from running during a clone * 33: 4412a04fe6f (upstream: 4412a04fe6f) < -: ----------- init.templateDir: consider this config setting protected * 34: 20f3588efc6 (upstream: 20f3588efc6) < -: ----------- core.hooksPath: add some protection while cloning * 35: a33fea0886c (upstream: a33fea0886c) < -: ----------- fsck: warn about symlink pointing inside a gitdir * 36: 47b6d90e918 (upstream: 47b6d90e918) < -: ----------- Git 2.39.4 * 37: b9b439e0e3a (upstream: b9b439e0e3a) < -: ----------- Git 2.40.2 * 38: 0f158320593 (upstream: 0f158320593) < -: ----------- Git 2.41.1 * 39: babb4e5d710 (upstream: babb4e5d710) < -: ----------- Git 2.42.2 * 40: 1f2e64e22de (upstream: 1f2e64e22de) < -: ----------- Git 2.43.4 * 41: 10dc9846b82 (upstream: 10dc9846b82) < -: ----------- Git 2.44.1 * 42: 2c7b491c1d3 (upstream: 2c7b491c1d3) < -: ----------- Git 2.45.1 * 43: 5276fbd6c20 = 1: f589d8df251 gitk(Windows): avoid inadvertently calling executables in the worktree * 44: d97c45659fd = 2: abb9d1aee00 t9350: point out that refs are not updated correctly * 45: 05c3992d0f8 = 3: 9b77b712092 transport-helper: add trailing -- * 46: d693f340f85 = 4: 294de0e23bb remote-helper: check helper status after import/export * 49: 54d71a93766 = 5: 0b5eed9614a Always auto-gc after calling a fast-import transport * 52: 028914debe8 = 6: daedabf755b mingw: include the Python parts in the build * 47: 5ae751654ba = 7: 5cf435518cc mingw: demonstrate a problem with certain absolute paths * 48: 0d2e8801845 = 8: 47d6e2ebdc9 clean: do not traverse mount points * 53: 43e51ab82d4 = 9: a505fd645ce win32/pthread: avoid name clashes with winpthread * 50: fc3249a6707 = 10: 382b72fed6f mingw: allow absolute paths without drive prefix * 51: 6b65a3e1be5 = 11: de802616621 clean: remove mount points when possible * 54: 46e08dd15ef = 12: d21fef2c82f git-compat-util: avoid redeclaring _DEFAULT_SOURCE * 55: 4607a509d95 = 13: 075ab9cb627 Import the source code of mimalloc v2.1.2 * 56: 257ecbd27f9 = 14: 4b35ad103fd mimalloc: adjust for building inside Git * 57: b38e3c7d7b5 = 15: b8849868440 mimalloc: offer a build-time option to enable it * 58: 71d3cbe91ee = 16: 7c61188cf53 mimalloc: use "weak" random seed when statically linked * 59: dd4405535ae = 17: 31c3a614748 mingw: use mimalloc * 60: bc7c7f32429 = 18: 0f34fe1868d transport: optionally disable side-band-64k * 61: df2cf512025 = 19: 88a301a0d7b mingw: make sure `errno` is set correctly when socket operations fail * 69: a67f563c983 = 20: 7b39cb38881 mingw: do resolve symlinks in `getcwd()` * 70: 5410eee148a = 21: 2b2dc89a288 mingw: fix fatal error working on mapped network drives on Windows * 71: c95492e44df = 22: 8ee8d78cefb clink.pl: fix MSVC compile script to handle libcurl-d.lib * 62: f9c6b813ee1 = 23: 8fc00ddc6dd mingw: ensure valid CTYPE * 63: f38b347afb5 = 24: b434881e511 mingw: demonstrate a `git add` issue with NTFS junctions * 64: a2ce54e8a5e = 25: 8679d38ba32 mingw: allow `git.exe` to be used instead of the "Git wrapper" * 65: 232bf46b525 = 26: c5562e31f40 strbuf_realpath(): use platform-dependent API if available * 67: 216a997c9fc = 27: 34e647815a6 mingw: ignore HOMEDRIVE/HOMEPATH if it points to Windows' system directory * 68: bcf2561b4f9 = 28: 667361c6ac5 http: use new "best effort" strategy for Secure Channel revoke checking * 72: 9fe947d7c96 = 29: 416132f8daf mingw: implement a platform-specific `strbuf_realpath()` * 66: 6ea53eaa00d = 30: 5af8f398779 vcxproj: unclash project directories with build outputs * 73: 61d4f9d4f6c = 31: 182334690ce t5505/t5516: allow running without `.git/branches/` in the templates * 74: 601c5b10636 = 32: 7a45f6d872b t5505/t5516: fix white-space around redirectors * 77: 6dbe1758154 = 33: 673f572cdf4 t3701: verify that we can add *lots* of files interactively * 78: 7dce9b1a0a4 = 34: a730a97fade git add -i: handle CR/LF line endings in the interactive input * 79: c1677ccdb02 = 35: 9278f4530a0 commit: accept "scissors" with CR/LF line endings * 80: 53545fb1373 = 36: d19e495086b t0014: fix indentation * 81: 02493cfc2f3 = 37: aef280c52b8 git-gui: accommodate for intent-to-add files * 75: 0911e23356d = 38: db352d1b006 clink.pl: fix libexpatd.lib link error when using MSVC * 76: 335a39c5f70 = 39: a973f57e82d Makefile: clean up .ilk files when MSVC=1 * 82: 75d5e8de6f8 = 40: fa9a0d1f48c vcbuild: add support for compiling Windows resource files * 83: 1c4226f7f66 = 41: 830217b31d3 config.mak.uname: add git.rc to MSVC builds * 84: 1c9f7b404ac = 42: ddd2a24f1dd clink.pl: ignore no-stack-protector arg on MSVC=1 builds * 86: fbd99698d83 = 43: 8c320147b8c clink.pl: move default linker options for MSVC=1 builds * 88: 7609cabca9b = 44: 3e26a6c448b buildsystems: remove duplicate clause * 90: 4dd6b90da6d = 45: 1cb462104b2 vcxproj: handle resource files, too * 92: ce51cdbbc8c = 46: f8c572d4143 vcxproj: ignore -fno-stack-protector and -fno-common * 85: d1c8f829087 = 47: fa1c4832431 vcpkg_install: detect lack of Git * 94: 02152a69a01 = 48: 89bf9dcb6c4 vcxproj: handle GUI programs, too * 87: d93c7ce71da = 49: 4c34d18b90b vcpkg_install: add comment regarding slow network connections * 96: 26c6223eded = 50: ffc291ab720 cmake: install headless-git. * 89: 76472a0004a = 51: 75ce41a82bd vcxproj: support building Windows/ARM64 binaries * 91: cf53b9cfbe6 = 52: 91796ca5d8b vcbuild: install ARM64 dependencies when building ARM64 binaries * 93: a02a742fbff = 53: 2100f36686c vcbuild: add an option to install individual 'features' * 95: 72fd5e0d1c9 = 54: 6d2ffb2e766 cmake: allow building for Windows/ARM64 * 97: f29280716ef = 55: b62bb95a47a ci(vs-build) also build Windows/ARM64 artifacts * 98: 1774af69c7d = 56: fb6b9c1385f Add schannel to curl installation * 99: 5bdd4b0a8fa = 57: 30fc06b4542 cmake(): allow setting HOST_CPU for cross-compilation * 100: 6b06589812e = 58: 9f2bb4b6223 subtree: update `contrib/subtree` `test` target * 102: dbcd6cf0bd0 = 59: 94a51230771 ci(vs-build): download the vcpkg artifacts using a dedicated Action * 103: f12e10a67d1 = 60: e5ca1814498 mingw: allow for longer paths in `parse_interpreter()` * 104: a4a63a837a2 = 61: cad13576c88 compat/vcbuild: document preferred way to build in Visual Studio * 105: aa68c96823e = 62: ffc4930b1e1 http: optionally send SSL client certificate * 101: 2f8c6a1b639 = 63: 08399cced1e CMake: default Visual Studio generator has changed * 111: fa9e370dae4 = 64: 7da1dbda82e .gitignore: add Visual Studio CMakeSetting.json file * 113: 0dcd834d25f = 65: 3c1c6b2b469 CMakeLists: add default "x64-windows" arch for Visual Studio * 106: 615b16fa959 = 66: 31aad70ba22 ci: run `contrib/subtree` tests in CI builds * 116: 24ef53b8c62 = 67: cca9315007c CMake: show Win32 and Generator_platform build-option values * 117: b125917aa82 = 68: e37ea80fb4c init: do parse _all_ core.* settings early * 107: 33cf5133f93 = 69: 958f3302d91 hash-object: demonstrate a >4GB/LLP64 problem * 108: 5514fd80264 = 70: e335a512296 write_object_file_literally(): use size_t * 109: 3c64c59727d = 71: aac4f0194e5 object-file.c: use size_t for header lengths * 110: af84a1be70b = 72: 41e7133bd9b hash algorithms: use size_t for section lengths * 112: 8179e09c6af = 73: 86e3fe3932c hash-object --stdin: verify that it works with >4GB/LLP64 * 114: 3ae65765ac3 = 74: 088db1097e6 hash-object: add another >4GB/LLP64 test case * 118: dffa475e3bc = 75: 0508c6afc88 Enable the built-in FSMonitor as an experimental feature * 115: 5f4c34cb72b = 76: 8afd3ea85f1 setup: properly use "%(prefix)/" when in WSL * 119: e6fe01a163d = 77: 2763273451b hash-object: add a >4GB/LLP64 test case using filtered input * 126: 8f62760d968 = 78: 256cced6e39 compat/mingw.c: do not warn when failing to get owner * 127: a4a3b066207 = 79: ffdc0b6a754 mingw: $env:TERM="xterm-256color" for newer OSes * 128: 172683b2dcd = 80: 29fbe6daa9c winansi: check result and Buffer before using Name * 120: 077d4b30cb9 = 81: b440a2b2471 vcxproj: allow building with `NO_PERL` again * 121: cb4ff228768 = 82: 8aeadd096ce vcxproj: require C11 * 122: 5ecabf7861d = 83: 6d8873f51b7 vcxproj: ignore the `-pedantic` option * 124: c8aa77e769f = 84: 51a09244bea Add config option `windows.appendAtomically` * 123: f73313ecd74 = 85: 58aed3c3486 vcxproj: include reftable when committing `.vcxproj` files * 129: ceecfc240b1 = 86: 45dfdf18267 mingw: change core.fsyncObjectFiles = 1 by default * 125: f044ee64b70 = 87: 9dbe315f03c vcxproj: handle libreftable_test, too * 130: 102fca69321 = 88: 8f90c6f64f0 vcxproj: avoid escaping double quotes in the defines * 131: 7bcb1950c33 = 89: 83caa43f4ae ci: adjust Azure Pipeline for `runs_on_pool` * 132: 2c0480f5ee6 = 90: 08781b46126 ci: stop linking the `prove` cache * 133: 0e160246664 = 91: b0997e6098d ci: reinstate Azure Pipelines support * 134: 1578377347f = 92: 9e056f28434 azure-pipeline: drop the `GETTEXT_POISON` job * 135: 99c6f8085bb = 93: 3a249a9a1e3 azure-pipeline: stop hard-coding `apt-get` calls * 136: 3ee9fc6c021 = 94: 80412d94041 azure-pipeline: drop the code to write to/read from a file share * 137: 49ab7aad01d = 95: 6c9e2366c9c azure-pipeline: use partial clone/parallel checkout to initialize minimal-sdk * 138: dad4868050b = 96: 92afbc046f7 azure-pipeline: downcase the job name of the `Linux32` job * 140: 31f297ec007 = 97: ea13b95c45f bswap.h: add support for built-in bswap functions * 139: 17d4b2be4c6 = 98: fa56bf73996 MinGW: link as terminal server aware * 141: a630dc664f5 = 99: e9152ace6a4 azure-pipeline: run static-analysis on jammy * 142: 64f8cef0d93 = 100: 08f87222103 Fix Windows version resources * 145: 4b05bbc4ee4 = 101: d7d0b298c43 config.mak.uname: add support for clangarm64 * 147: 6b0fd481821 = 102: 1f5d27703fe ci: create clangarm64-build.yml * 148: 180bbd6ea1c = 103: 3a200f2ccdf status: fix for old-style submodules with commondir * 149: 9d086a78462 = 104: bb6b77d08fe windows: skip linking `git-` for built-ins * 150: 503e55b8667 = 105: c68b11176a9 windows: fix Repository>Explore Working Copy * 143: 47d00fd8fdb = 106: e2a86ce6360 http: optionally load libcurl lazily * 144: ba60d9aec1c = 107: 3c74c0ec2c7 http: support lazy-loading libcurl also on Windows * 146: 164d76d712a = 108: b7f7f35aed6 http: when loading libcurl lazily, allow for multiple SSL backends * 151: 6f904461d06 = 109: 3a637062a4f mingw: do load libcurl dynamically by default * 152: 85334a23170 = 110: de8076b4a2d Add a GitHub workflow to verify that Git/Scalar work in Nano Server * 153: ce46757f0b3 = 111: 6d4aac95256 mingw: suggest `windows.appendAtomically` in more cases * 154: 6316eb20948 ! 112: 0e12d73bb6b win32: use native ANSI sequence processing, if possible ``````diff @@ Commit message support" can be enabled. If it can, we do not even need to start the `console_thread` to handle ANSI sequences. + Or, almost all we need to do: When `console_thread()` does its work, it + uses the Unicode-aware `write_console()` function to write to the Win32 + Console, which supports Git for Windows' implicit convention that all + text that is written is encoded in UTF-8. The same is not necessarily + true if native ANSI sequence processing is used, as the output is then + subject to the current code page. Let's ensure that the code page is set + to `CP_UTF8` as long as Git writes to it. + Signed-off-by: Johannes Schindelin ## compat/winansi.c ## @@ compat/winansi.c: static void detect_msys_tty(int fd) #endif +static HANDLE std_console_handle; -+static DWORD std_console_mode; ++static DWORD std_console_mode = ENABLE_VIRTUAL_TERMINAL_PROCESSING; ++static UINT std_console_code_page = CP_UTF8; + -+static void reset_std_console_mode(void) ++static void reset_std_console(void) +{ -+ SetConsoleMode(std_console_handle, std_console_mode); ++ if (std_console_mode != ENABLE_VIRTUAL_TERMINAL_PROCESSING) ++ SetConsoleMode(std_console_handle, std_console_mode); ++ if (std_console_code_page != CP_UTF8) ++ SetConsoleOutputCP(std_console_code_page); +} + +static int enable_virtual_processing(void) @@ compat/winansi.c: static void detect_msys_tty(int fd) + return 0; + } + ++ std_console_code_page = GetConsoleOutputCP(); ++ if (std_console_code_page != CP_UTF8) ++ SetConsoleOutputCP(CP_UTF8); ++ if (!std_console_code_page) ++ std_console_code_page = CP_UTF8; ++ ++ atexit(reset_std_console); ++ + if (std_console_mode & ENABLE_VIRTUAL_TERMINAL_PROCESSING) + return 1; + @@ compat/winansi.c: static void detect_msys_tty(int fd) + ENABLE_VIRTUAL_TERMINAL_PROCESSING)) + return 0; + -+ atexit(reset_std_console_mode); + return 1; +} + `````` * 155: 01594661bae = 113: 3fdb136d935 git.rc: include winuser.h * 156: 0cf7a4b7a0b = 114: 80c092b6937 build(deps): bump microsoft/setup-msbuild from 1 to 2 * 157: 2e97dd43a42 = 115: d31fe08b55e common-main.c: fflush stdout buffer upon exit * 158: 5586a2238c7 = 116: 0c4d9900d98 Win32: make FILETIME conversion functions public * 159: 306c076ee23 = 117: 2a43ceb9ead Win32: dirent.c: Move opendir down * 160: d9f03eefa40 = 118: ca8ae347c7c mingw: make the dirent implementation pluggable * 161: 54146a0116e = 119: bf09e51fa19 Win32: make the lstat implementation pluggable * 162: 248dfb6546d = 120: 988ea3ce926 mingw: add infrastructure for read-only file system level caches * 163: 81efcfc2011 = 121: 5c7439c230c mingw: add a cache below mingw's lstat and dirent implementations * 164: a531c79edc2 = 122: 24d9b52c5a1 fscache: load directories only once * 165: d312984e2d9 = 123: 50007cdf676 fscache: add key for GIT_TRACE_FSCACHE * 166: 6f0af431b3b = 124: c4eaf3680b2 fscache: remember not-found directories * 167: f3236543f89 = 125: 392749fc35f fscache: add a test for the dir-not-found optimization * 168: 539b80eb7a0 = 126: 410acbfd5f8 add: use preload-index and fscache for performance * 169: 207b270e1d0 = 127: 3cfd9e275ef dir.c: make add_excludes aware of fscache during status * 170: 5179c43946f = 128: b2789999c4c fscache: make fscache_enabled() public * 171: a36090400d5 = 129: b7d5acce0c2 dir.c: regression fix for add_excludes with fscache * 172: 6a2d489f37d = 130: 527bd698d91 fetch-pack.c: enable fscache for stats under .git/objects * 173: 9e0d3fa8f0a = 131: a7255cf1b56 checkout.c: enable fscache for checkout again * 174: 801c398c3ec = 132: 4dd09d1df8d Enable the filesystem cache (fscache) in refresh_index(). * 175: 5f722809783 = 133: 4a9f7dca0c4 fscache: use FindFirstFileExW to avoid retrieving the short name * 176: 8fd2f5da84b = 134: b0630064e0f status: disable and free fscache at the end of the status command * 177: 042b3f7d9ec = 135: a028a14d078 fscache: add GIT_TEST_FSCACHE support * 178: 0ffd8c0f0b7 = 136: 7686bc60c85 fscache: add fscache hit statistics * 179: 46d96447cab = 137: 38b28425196 mem_pool: add GIT_TRACE_MEMPOOL support * 180: a3d9d4df275 = 138: 18795f2345c fscache: fscache takes an initial size * 181: 8d38d6d24d7 = 139: b4d00593814 fscache: update fscache to be thread specific instead of global * 182: 39c3a1bf1c4 = 140: 4dc702ee082 fscache: teach fscache to use mempool * 183: 95872969c63 = 141: 67f924ce9e8 fscache: make fscache_enable() thread safe * 184: a0ad9addb53 = 142: 7060ba955d3 fscache: teach fscache to use NtQueryDirectoryFile * 185: c304a0622ee = 143: 6fb2cde5e6b unpack-trees: enable fscache for sparse-checkout * 186: 15ec12b8fa8 = 144: c538ddf98fd fscache: remember the reparse tag for each entry * 189: cf6610f4b5c = 145: ae4fc8e4bf4 git-gui: provide question helper for retry fallback on Windows * 187: c05be069d23 = 146: 45a8200c263 fscache: implement an FSCache-aware is_mount_point() * 190: d64195b7120 = 147: ea7033f09c9 git gui: set GIT_ASKPASS=git-gui--askpass if not set yet * 188: ff96fbf9a83 = 148: 51a7b4d8c59 clean: make use of FSCache * 191: 26b21dcbc16 = 149: 6e3ad031e9f gitk: Unicode file name support * 192: 66a208efcbb = 150: 36fb936590c git-gui--askyesno: fix funny text wrapping * 193: 265146e91a1 = 151: 4d1ddf3efb1 gitk: Use an external icon file on Windows * 194: 2f2809d6b56 = 152: 9935b4a51a1 git-gui--askyesno: allow overriding the window title * 195: bb841574ec2 = 153: a35c8412887 gitk: fix arrow keys in input fields with Tcl/Tk >= 8.6 * 196: 5290dbff06e = 154: 849a213824c git-gui--askyesno (mingw): use Git for Windows' icon, if available * 197: 1a677a21fc6 = 155: ad47adece59 gitk: make the "list references" default window width wider * 198: 82d4781e2ef = 156: 08a4b33ebed pack-objects (mingw): demonstrate a segmentation fault with large deltas * 199: 5e395c812ef = 157: e4cccd164e3 mingw: support long paths * 200: 347dbbeb5a4 = 158: 5dd339c11c6 Win32: fix 'lstat("dir/")' with long paths * 201: 617101aab75 = 159: 8af3c630c39 win32(long path support): leave drive-less absolute paths intact * 202: d9f0035dff0 = 160: 7429b6ab96d compat/fsmonitor/fsm-*-win32: support long paths * 203: 2722ab82f5d = 161: 2caadefe1aa clean: suggest using `core.longPaths` if paths are too long to remove * 204: a1b71bcc7e0 = 162: 91851942ed0 mingw: Support `git_terminal_prompt` with more terminals * 205: 166fb9beca1 = 163: fc1bece716f compat/terminal.c: only use the Windows console if bash 'read -r' fails * 206: ebe6522a05e = 164: e005fb83fc8 mingw (git_terminal_prompt): do fall back to CONIN$/CONOUT$ method * 207: e0e8441c3ac = 165: ba2744c932f Unbreak interactive GPG prompt upon signing * 208: 0d4cf3a4a0f = 166: 1bb4f92d6d0 strbuf_readlink: don't call readlink twice if hint is the exact link size * 209: 2f9887e1219 = 167: a0f945b8d4c strbuf_readlink: support link targets that exceed PATH_MAX * 210: 24325965485 = 168: 98192074714 lockfile.c: use is_dir_sep() instead of hardcoded '/' checks * 211: 34965013832 = 169: 211bead699f Win32: don't call GetFileAttributes twice in mingw_lstat() * 212: f3c58effb2a = 170: 713ddeaedf8 Win32: implement stat() with symlink support * 213: b0980d8bf29 = 171: deccb417900 Win32: remove separate do_lstat() function * 214: fbc7290c70e = 172: d42a1969e84 Win32: let mingw_lstat() error early upon problems with reparse points * 215: 253f132c2ff = 173: 57875ce17a1 mingw: teach fscache and dirent about symlinks * 216: a4951f7c7e8 = 174: d21f3193fdd Win32: lstat(): return adequate stat.st_size for symlinks * 217: 3bbd6ca071c = 175: 1bb95f4c3fd Win32: factor out retry logic * 218: 7cc83444baf = 176: c5410601987 Win32: change default of 'core.symlinks' to false * 219: edd443df6e1 = 177: 36a53db6991 Win32: add symlink-specific error codes * 220: ed9512618fe = 178: 8af0aaec485 Win32: mingw_unlink: support symlinks to directories * 221: 32182bfe4b9 = 179: 76a29eb1ff8 Win32: mingw_rename: support renaming symlinks * 222: f6573ff72e7 = 180: 3eef8c81c69 Win32: mingw_chdir: change to symlink-resolved directory * 223: e1f86a64614 = 181: 614116cf41e Win32: implement readlink() * 224: 37a28f9a933 = 182: 9135f9b454f mingw: lstat: compute correct size for symlinks * 225: 330f307dc3b = 183: 36de7f55301 Win32: implement basic symlink() functionality (file symlinks only) * 226: f62ecdef61d = 184: b6ae9a1cbf8 Win32: symlink: add support for symlinks to directories * 227: 4d22fbd0482 = 185: 2dc52fabb63 mingw: try to create symlinks without elevated permissions * 228: f5ce6898122 = 186: 162d9ba7fa6 mingw: emulate stat() a little more faithfully * 229: 5eae0169045 = 187: 9e7788ade53 mingw: special-case index entries for symlinks with buggy size * 230: 1974e6585fb = 188: ecb012af819 mingw: introduce code to detect whether we're inside a Windows container * 231: bb0b148f6a9 = 189: 8782e013fd0 mingw: when running in a Windows container, try to rename() harder * 232: 9a68c82985a = 190: 1c116c6f274 mingw: move the file_attr_to_st_mode() function definition * 233: e7ee57ca794 = 191: f265297444d mingw: Windows Docker volumes are *not* symbolic links * 235: 99a95d8e19e = 192: 0d387c877b2 Win32: symlink: move phantom symlink creation to a separate function * 236: f3bf009044a = 193: 53b0ad07c6b Introduce helper to create symlinks that knows about index_state * 237: 4fb4264672b = 194: 310f4b73878 mingw: allow to specify the symlink type in .gitattributes * 238: b455eb7c31d = 195: ee6a44573f4 Win32: symlink: add test for `symlink` attribute * 234: fe337e8ee2d = 196: 0e9b96f0639 mingw: work around rename() failing on a read-only file * 239: 8f79b6dfec0 = 197: e80420395ac mingw: explicitly specify with which cmd to prefix the cmdline * 240: 36d6185dfbf = 198: d59aca03aed mingw: when path_lookup() failed, try BusyBox * 241: 12528d9343f = 199: 6c343f932cb test-lib: avoid unnecessary Perl invocation * 242: 597416df2be = 200: faeaf41b4d3 test-tool: learn to act as a drop-in replacement for `iconv` * 243: 4a6bb0570a9 = 201: af2e8f839e7 tests(mingw): if `iconv` is unavailable, use `test-helper --iconv` * 244: 8a2bcfe6b3a = 202: bd96a5ce567 gitattributes: mark .png files as binary * 245: b294f6f63fe = 203: ca44def4838 tests: move test PNGs into t/lib-diff/ * 246: a20a5076859 = 204: 77cafa7b6fd tests: only override sort & find if there are usable ones in /usr/bin/ * 247: 16cef01ea4d = 205: 1885bf8229f tests: use the correct path separator with BusyBox * 248: b5d2f7d28c3 = 206: c32fa77401e mingw: only use Bash-ism `builtin pwd -W` when available * 249: 7230dc00a24 = 207: ca7b4a6326e tests (mingw): remove Bash-specific pwd option * 250: ee6dd975675 = 208: 4db4c85fa84 test-lib: add BUSYBOX prerequisite * 251: 4aa5a277ca2 = 209: b12d52bd9f5 t5003: use binary file from t/lib-diff/ * 252: 5803764ad0a = 210: 7d531d558ff t5532: workaround for BusyBox on Windows * 253: af8ef672762 = 211: 380d54bde91 t5605: special-case hardlink test for BusyBox-w32 * 254: 65de7eb9f0a = 212: cc94578c6a6 t5813: allow for $PWD to be a Windows path * 255: 055c4786c29 = 213: eb7ee49bb21 t9200: skip tests when $PWD contains a colon * 256: ce079efee16 = 214: 6609cf039c0 mingw: add a Makefile target to copy test artifacts * 258: c8771b78ac7 = 215: 42300f0848d mingw: optionally enable wsl compability file mode bits * 257: cafdf5e9c06 = 216: 423488e75d9 mingw: kill child processes in a gentler way * 259: 7c15ab7d063 = 217: 6e750cd9db6 mingw: do not call xutftowcs_path in mingw_mktemp * 262: 7594c18d06e = 218: 9b77bf3afa4 mingw: really handle SIGINT * 263: ecfdabf4a05 = 219: 82031c0fe1b Partially un-revert "editor: save and reset terminal after calling EDITOR" * 260: 661f368e9dc ! 220: 4987066ac97 Add a GitHub workflow to monitor component updates ``````diff @@ .github/workflows/monitor-components.yml (new) + title-pattern: ^(?!.*(5\.[0-9]+[13579]|RC)) + - label: pcre2 + feed: https://github.com/PCRE2Project/pcre2/tags.atom -+ - label: mingw-w64-clang -+ feed: https://github.com/msys2/MINGW-packages/commits/master/mingw-w64-clang.atom ++ - label: mingw-w64-llvm ++ feed: https://github.com/msys2/MINGW-packages/commits/master/mingw-w64-llvm.atom + fail-fast: false + steps: + - uses: git-for-windows/rss-to-issues@v0 `````` * 264: ccf6426161c = 221: b36f9e9aedb reset: reinstate support for the deprecated --stdin option * 265: 82a3f2b47ec = 222: 7a8147ecb98 fsmonitor: reintroduce core.useBuiltinFSMonitor * 266: 7d7e45d9cd7 = 223: 7d094087331 dependabot: help keeping GitHub Actions versions up to date * 261: 36c237d62ed = 224: cc6b49de8c6 Describe Git for Windows' architecture [no ci] * 267: c4a3fe52ce9 < -: ----------- Modify the Code of Conduct for Git for Windows * 277: 5b128992076 ! 225: a4a7bcea541 fixup! Modify the Code of Conduct for Git for Windows ``````diff @@ Metadata Author: Johannes Schindelin ## Commit message ## - fixup! Modify the Code of Conduct for Git for Windows + Modify the Code of Conduct for Git for Windows - Update the Code of Conduct to v2.1 of the Contributor Covenant. See - https://www.contributor-covenant.org/ for more details. + The Git project followed Git for Windows' lead and added their Code of + Conduct, based on the Contributor Covenant v1.4, later updated to v2.0. + + We adapt it slightly to Git for Windows. Signed-off-by: Johannes Schindelin ## CODE_OF_CONDUCT.md ## +@@ +-# Git Code of Conduct ++# Git for Windows Code of Conduct + + This code of conduct outlines our expectations for participants within +-the Git community, as well as steps for reporting unacceptable behavior. +-We are committed to providing a welcoming and inspiring community for +-all and expect our code of conduct to be honored. Anyone who violates ++the **Git for Windows** community, as well as steps for reporting unacceptable ++behavior. We are committed to providing a welcoming and inspiring community ++for all and expect our code of conduct to be honored. Anyone who violates + this code of conduct may be banned from the community. + + ## Our Pledge @@ CODE_OF_CONDUCT.md: We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender @@ CODE_OF_CONDUCT.md: community include: * Other conduct which could reasonably be considered inappropriate in a professional setting +@@ CODE_OF_CONDUCT.md: decisions when appropriate. + + This Code of Conduct applies within all community spaces, and also applies when + an individual is officially representing the community in public spaces. +-Examples of representing our community include using an official e-mail address, ++Examples of representing our community include using an official email address, + posting via an official social media account, or acting as an appointed + representative at an online or offline event. + + ## Enforcement + + Instances of abusive, harassing, or otherwise unacceptable behavior may be +-reported to the community leaders responsible for enforcement at +-git@sfconservancy.org, or individually: +- +- - Ævar Arnfjörð Bjarmason +- - Christian Couder +- - Junio C Hamano +- - Taylor Blau ++reported by contacting the Git for Windows maintainer. + + All complaints will be reviewed and investigated promptly and fairly. + @@ CODE_OF_CONDUCT.md: behavior was inappropriate. A public apology may be requested. ### 2. Warning `````` * 268: b6701cf32f1 = 226: 23ef4911e6d CONTRIBUTING.md: add guide for first-time contributors * 269: da4dd244dcd ! 227: 4b77f037bb9 README.md: Add a Windows-specific preamble ``````diff @@ README.md +Git for Windows +=============== + ++[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md) +[![Open in Visual Studio Code](https://img.shields.io/static/v1?logo=visualstudiocode&label=&message=Open%20in%20Visual%20Studio%20Code&labelColor=2c2c32&color=007acc&logoColor=007acc)](https://open.vscode.dev/git-for-windows/git) +[![Build status](https://github.com/git-for-windows/git/workflows/CI/badge.svg)](https://github.com/git-for-windows/git/actions?query=branch%3Amain+event%3Apush) +[![Join the chat at https://gitter.im/git-for-windows/git](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/git-for-windows/git?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) `````` * 270: 3211a4a64ae = 228: 19c7432f806 Add an issue template * 271: 699b7cf9e51 = 229: 93306bfd59d Modify the GitHub Pull Request template (to reflect Git for Windows) * 272: 187e8d039ae = 230: d723dacbe0b .github: Add configuration for the Sentiment Bot * 273: f391ab77061 = 231: 07098b4ddea Document how $HOME is set on Windows * 274: 7d8f06c2221 = 232: ce0413b4a2c SECURITY.md: document Git for Windows' policies * 279: f01301aabe1 = 233: 855e15ca5b7 compat/regex: fix argument order to calloc(3) * 275: 965b16798da = 234: 7f8c443e282 t5601/t7406(mingw): do run tests with symlink support * 276: 6c80dd251a4 < -: ----------- amend! Modify the Code of Conduct for Git for Windows * 278: 7b473937eef < -: ----------- fixup! README.md: Add a Windows-specific preamble * 280: 68af6e0643a = 235: a74a04fabb6 win32: ensure that `localtime_r()` is declared even in i686 builds * 281: 45506bb12f0 < -: ----------- amend! win32: use native ANSI sequence processing, if possible * 282: 5af092e35c7 < -: ----------- fixup! Add a GitHub workflow to monitor component updates
dscho commented 4 months ago

/git-artifacts

The tag-git workflow run was started

The git-artifacts-x86_64 workflow run was started. The git-artifacts-i686 workflow run was started.

dscho commented 4 months ago

/release-git

dscho commented 4 months ago

/release

The release-git workflow run was started