{"thread":{"id":"59903","subject":"git apply fails with 'error: git apply: failed to read: No such file or directory'","startedAt":"2023-06-23T12:44:01Z","lastAt":"2023-06-24T15:20:11Z","messageCount":4,"participants":["Premek Vysoky","Phillip Wood"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"478729","messageId":"AM7PR83MB04183860D4E70F935319E9B9EA23A@AM7PR83MB0418.EURPRD83.prod.outlook.com","threadId":"59903","inReplyTo":null,"subject":"git apply fails with 'error: git apply: failed to read: No such file or directory'","fromName":"Premek Vysoky","fromEmail":"premek.vysoky@microsoft.com","sentAt":"2023-06-23T12:42:33Z","receivedAt":"2023-06-23T12:44:01Z","isPatch":false,"sender":{"key":"premek.vysoky@microsoft.com","avatar":null},"body":"What did you do before the bug happened? (Steps to reproduce your issue)\ngit clone https://github.com/dotnet/llvm-project\ngit -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)**/*' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg'\nmkdir foo\ngit -C foo init\ngit -C foo apply --cached --ignore-space-change ../llvm.patch\n\nWhat did you expect to happen? (Expected behavior)\nPatch should be created and applied to another folder\n\nWhat happened instead? (Actual behavior)\ngit apply fails with 'error: git apply: failed to read: No such file or directory'\n(and returns 128)\n\nWhat's different between what you expected and what actually happened?\nThere is no error. I tried -v, --reject etc but wasn't able to get any details.\n\nAnything else you want to add:\nThis happens in both Windows and Linux environments.\n\nI tried analyzing file handlers via procmon.exe and could not see anything. git reads the whole patch and then shuts down. No indication of a file it is trying to open.\n\nI tried excluding more files from the patch and then I was able to create/apply the patch, like so:\n\ngit -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)**/*' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg' ':(exclude,glob)bolt' ':(exclude,glob)clang/docs' ':(exclude,glob)clang/www' ':(exclude,glob)flang' ':(exclude,glob)libclc' ':(exclude,glob)lldb' ':(exclude,glob)llvm/docs' ':(exclude,glob)mlir' ':(exclude,glob)openmp' ':(exclude,glob)polly' ':(exclude,glob)pstl' ':(exclude,glob)third-party' ':(exclude,glob)**/tests/**'\n\nBut if I do the opposite and create a patch with only the previously excluded files, I'd expect that it breaks. But this works as well!\n\ngit -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)bolt' ':(glob)clang/docs' ':(glob)clang/www' ':(glob)flang' ':(glob)libclc' ':(glob)lldb' ':(glob)llvm/docs' ':(glob)mlir' ':(glob)openmp' ':(glob)polly' ':(glob)pstl' ':(glob)third-party' ':(glob)**/tests/**' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg'\n\nOnly when they are together, git fails. Size of the patch is 1GB but I've had 3GB patches apply successfully before.\n\nPlease review the rest of the bug report below.\nYou can delete any lines you don't wish to share.\n\n\n[System Info]\ngit version:\ngit version 2.41.0.windows.1\ncpu: x86_64\nbuilt from commit: ff94e79c4724635915dbb3d4ba38f6bb91528260\nsizeof-long: 4\nsizeof-size_t: 8\nshell-path: /bin/sh\nfeature: fsmonitor--daemon\nuname: Windows 10.0 22621 \ncompiler info: gnuc: 13.1\nlibc info: no libc information available\n$SHELL (typically, interactive shell): <unset>\n\n\n[Enabled Hooks]\nnot run from a git repository - no hooks to show\n"},{"id":"478766","messageId":"fff79e55-cf35-b5ca-6208-dfa7234be33d@gmail.com","threadId":"59903","inReplyTo":"AM7PR83MB04183860D4E70F935319E9B9EA23A@AM7PR83MB0418.EURPRD83.prod.outlook.com","subject":"Re: git apply fails with 'error: git apply: failed to read: No such file or directory'","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2023-06-24T10:08:46Z","receivedAt":"2023-06-24T10:08:59Z","isPatch":false,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"Hi Premek\n\nThanks for taking the time to report this issue\n\nOn 23/06/2023 13:42, Premek Vysoky wrote:\n> What did you do before the bug happened? (Steps to reproduce your issue)\n> git clone https://github.com/dotnet/llvm-project\n> git -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)**/*' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg'\n> mkdir foo\n> git -C foo init\n> git -C foo apply --cached --ignore-space-change ../llvm.patch\n> \n> What did you expect to happen? (Expected behavior)\n> Patch should be created and applied to another folder\n> \n> What happened instead? (Actual behavior)\n> git apply fails with 'error: git apply: failed to read: No such file or directory'\n> (and returns 128)\n\nThis stems from commit f1c0e3946e (apply: reject patches larger than ~1 \nGiB, 2022-10-25). Unfortunately it does not provide a very helpful error \nmessage. I'll submit a patch later to fix that in the next few days.\n\nBest Wishes\n\nPhillip\n\n> What's different between what you expected and what actually happened?\n> There is no error. I tried -v, --reject etc but wasn't able to get any details.\n> \n> Anything else you want to add:\n> This happens in both Windows and Linux environments.\n> \n> I tried analyzing file handlers via procmon.exe and could not see anything. git reads the whole patch and then shuts down. No indication of a file it is trying to open.\n> \n> I tried excluding more files from the patch and then I was able to create/apply the patch, like so:\n> \n> git -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)**/*' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg' ':(exclude,glob)bolt' ':(exclude,glob)clang/docs' ':(exclude,glob)clang/www' ':(exclude,glob)flang' ':(exclude,glob)libclc' ':(exclude,glob)lldb' ':(exclude,glob)llvm/docs' ':(exclude,glob)mlir' ':(exclude,glob)openmp' ':(exclude,glob)polly' ':(exclude,glob)pstl' ':(exclude,glob)third-party' ':(exclude,glob)**/tests/**'\n> \n> But if I do the opposite and create a patch with only the previously excluded files, I'd expect that it breaks. But this works as well!\n> \n> git -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)bolt' ':(glob)clang/docs' ':(glob)clang/www' ':(glob)flang' ':(glob)libclc' ':(glob)lldb' ':(glob)llvm/docs' ':(glob)mlir' ':(glob)openmp' ':(glob)polly' ':(glob)pstl' ':(glob)third-party' ':(glob)**/tests/**' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg'\n> \n> Only when they are together, git fails. Size of the patch is 1GB but I've had 3GB patches apply successfully before.\n> \n> Please review the rest of the bug report below.\n> You can delete any lines you don't wish to share.\n> \n> \n> [System Info]\n> git version:\n> git version 2.41.0.windows.1\n> cpu: x86_64\n> built from commit: ff94e79c4724635915dbb3d4ba38f6bb91528260\n> sizeof-long: 4\n> sizeof-size_t: 8\n> shell-path: /bin/sh\n> feature: fsmonitor--daemon\n> uname: Windows 10.0 22621\n> compiler info: gnuc: 13.1\n> libc info: no libc information available\n> $SHELL (typically, interactive shell): <unset>\n> \n> \n> [Enabled Hooks]\n> not run from a git repository - no hooks to show\n"},{"id":"478768","messageId":"AM7PR83MB041804AFB4F0F8E850C51039EA20A@AM7PR83MB0418.EURPRD83.prod.outlook.com","threadId":"59903","inReplyTo":"fff79e55-cf35-b5ca-6208-dfa7234be33d@gmail.com","subject":"RE: [EXTERNAL] Re: git apply fails with 'error: git apply: failed to read: No such file or directory'","fromName":"Premek Vysoky","fromEmail":"premek.vysoky@microsoft.com","sentAt":"2023-06-24T10:28:42Z","receivedAt":"2023-06-24T10:31:11Z","isPatch":false,"sender":{"key":"premek.vysoky@microsoft.com","avatar":null},"body":"Hi Phillip,\n\nThanks for the fast response! And thanks for the improvement if you decide to make this more obvious.\nI must have used an older git version earlier as I was able to process even 3GB patches easily.\n\nToo bad there is no override for this..\n(we're working on a .NET monorepo - https://github.com/dotnet/dotnet - so one of a kind, and we hit these limits at times)\n\nCheers,\nPremek\n\n\n-----Original Message-----\nFrom: Phillip Wood <phillip.wood123@gmail.com> \nSent: Saturday, June 24, 2023 12:09 PM\nTo: Premek Vysoky <Premek.Vysoky@microsoft.com>; git@vger.kernel.org\nSubject: [EXTERNAL] Re: git apply fails with 'error: git apply: failed to read: No such file or directory'\n\nHi Premek\n\nThanks for taking the time to report this issue\n\nOn 23/06/2023 13:42, Premek Vysoky wrote:\n> What did you do before the bug happened? (Steps to reproduce your \n> issue) git clone \n> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith\n> ub.com%2Fdotnet%2Fllvm-project&data=05%7C01%7CPremek.Vysoky%40microsof\n> t.com%7Ca9684566250842b65be608db749b030b%7C72f988bf86f141af91ab2d7cd01\n> 1db47%7C1%7C0%7C638231981398613951%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4\n> wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7\n> C&sdata=prrT8WKHGtvll2XG%2FKSrxSOplev6eLjjeBGu%2FRQzOMg%3D&reserved=0\n> git -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)**/*' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg'\n> mkdir foo\n> git -C foo init\n> git -C foo apply --cached --ignore-space-change ../llvm.patch\n>\n> What did you expect to happen? (Expected behavior) Patch should be \n> created and applied to another folder\n>\n> What happened instead? (Actual behavior) git apply fails with 'error: \n> git apply: failed to read: No such file or directory'\n> (and returns 128)\n\nThis stems from commit f1c0e3946e (apply: reject patches larger than ~1 GiB, 2022-10-25). Unfortunately it does not provide a very helpful error message. I'll submit a patch later to fix that in the next few days.\n\nBest Wishes\n\nPhillip\n\n> What's different between what you expected and what actually happened?\n> There is no error. I tried -v, --reject etc but wasn't able to get any details.\n>\n> Anything else you want to add:\n> This happens in both Windows and Linux environments.\n>\n> I tried analyzing file handlers via procmon.exe and could not see anything. git reads the whole patch and then shuts down. No indication of a file it is trying to open.\n>\n> I tried excluding more files from the patch and then I was able to create/apply the patch, like so:\n>\n> git -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)**/*' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg' ':(exclude,glob)bolt' ':(exclude,glob)clang/docs' ':(exclude,glob)clang/www' ':(exclude,glob)flang' ':(exclude,glob)libclc' ':(exclude,glob)lldb' ':(exclude,glob)llvm/docs' ':(exclude,glob)mlir' ':(exclude,glob)openmp' ':(exclude,glob)polly' ':(exclude,glob)pstl' ':(exclude,glob)third-party' ':(exclude,glob)**/tests/**'\n>\n> But if I do the opposite and create a patch with only the previously excluded files, I'd expect that it breaks. But this works as well!\n>\n> git -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)bolt' ':(glob)clang/docs' ':(glob)clang/www' ':(glob)flang' ':(glob)libclc' ':(glob)lldb' ':(glob)llvm/docs' ':(glob)mlir' ':(glob)openmp' ':(glob)polly' ':(glob)pstl' ':(glob)third-party' ':(glob)**/tests/**' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg'\n>\n> Only when they are together, git fails. Size of the patch is 1GB but I've had 3GB patches apply successfully before.\n>\n> Please review the rest of the bug report below.\n> You can delete any lines you don't wish to share.\n>\n>\n> [System Info]\n> git version:\n> git version 2.41.0.windows.1\n> cpu: x86_64\n> built from commit: ff94e79c4724635915dbb3d4ba38f6bb91528260\n> sizeof-long: 4\n> sizeof-size_t: 8\n> shell-path: /bin/sh\n> feature: fsmonitor--daemon\n> uname: Windows 10.0 22621\n> compiler info: gnuc: 13.1\n> libc info: no libc information available $SHELL (typically, \n> interactive shell): <unset>\n>\n>\n> [Enabled Hooks]\n> not run from a git repository - no hooks to show\n"},{"id":"478770","messageId":"03ea5630-2373-2f53-7dbc-406e10ca281c@gmail.com","threadId":"59903","inReplyTo":"AM7PR83MB041804AFB4F0F8E850C51039EA20A@AM7PR83MB0418.EURPRD83.prod.outlook.com","subject":"Re: [EXTERNAL] Re: git apply fails with 'error: git apply: failed to read: No such file or directory'","fromName":"Phillip Wood","fromEmail":"phillip.wood123@gmail.com","sentAt":"2023-06-24T15:19:58Z","receivedAt":"2023-06-24T15:20:11Z","isPatch":false,"sender":{"key":"phillip.wood@dunelm.org.uk","avatar":null},"body":"Hi Premek\n\nOn 24/06/2023 11:28, Premek Vysoky wrote:\n> Hi Phillip,\n> \n> Thanks for the fast response! And thanks for the improvement if you decide to make this more obvious.\n> I must have used an older git version earlier as I was able to process even 3GB patches easily.\n> \n> Too bad there is no override for this..\n\nThe limit was added because of concerns about integer overflows with \nlarger patches (I've reproduced the commit message below). In principle \nthe code could be updated to use size_t rather than int/long to \naccommodate larger patches though I haven't looked how difficult that \nwould be and we'd still need to restrict the size of the diff for each \nfile as the object store uses long rather than size_t which causes \nproblems on LLP64 platforms like windows.\n\nIf you want to export a subset of files from a repository then \ngit-filter-repo[1] might be a better bet. It uses fast-export and \nfast-import which should be more efficient than generating patches and \napplying them.\n\nBest Wishes\n\nPhillip\n\n[1] https://github.com/newren/git-filter-repo\n\nHere is the commit message from the commit that introduced the limit on \npatch sizes\n\napply: reject patches larger than ~1 GiB\n\nThe apply code is not prepared to handle extremely large files. It uses\n\"int\" in some places, and \"unsigned long\" in others.\n\nThis combination leads to unfortunate problems when switching between\nthe two types. Using \"int\" prevents us from handling large files, since\nlarge offsets will wrap around and spill into small negative values,\nwhich can result in wrong behavior (like accessing the patch buffer with\na negative offset).\n\nConverting from \"unsigned long\" to \"int\" also has truncation problems\neven on LLP64 platforms where \"long\" is the same size as \"int\", since\nthe former is unsigned but the latter is not.\n\nTo avoid potential overflow and truncation issues in `git apply`, apply\nsimilar treatment as in dcd1742e56 (xdiff: reject files larger than\n~1GB, 2015-09-24), where the xdiff code was taught to reject large\nfiles for similar reasons.\n\nThe maximum size was chosen somewhat arbitrarily, but picking a value\njust shy of a gigabyte allows us to double it without overflowing 2^31-1\n(after which point our value would wrap around to a negative number).\nTo give ourselves a bit of extra margin, the maximum patch size is a MiB\nsmaller than a full GiB, which gives us some slop in case we allocate\n\"(records + 1) * sizeof(int)\" or similar.\n\nLuckily, the security implications of these conversion issues are\nrelatively uninteresting, because a victim needs to be convinced to\napply a malicious patch.\n\nReported-by: 정재우 <thebound7@gmail.com>\nSuggested-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>\nSigned-off-by: Taylor Blau <me@ttaylorr.com>\nSigned-off-by: Junio C Hamano <gitster@pobox.com>\n\n\n> (we're working on a .NET monorepo - https://github.com/dotnet/dotnet - so one of a kind, and we hit these limits at times)\n> \n> Cheers,\n> Premek\n> \n> \n> -----Original Message-----\n> From: Phillip Wood <phillip.wood123@gmail.com>\n> Sent: Saturday, June 24, 2023 12:09 PM\n> To: Premek Vysoky <Premek.Vysoky@microsoft.com>; git@vger.kernel.org\n> Subject: [EXTERNAL] Re: git apply fails with 'error: git apply: failed to read: No such file or directory'\n> \n> Hi Premek\n> \n> Thanks for taking the time to report this issue\n> \n> On 23/06/2023 13:42, Premek Vysoky wrote:\n>> What did you do before the bug happened? (Steps to reproduce your\n>> issue) git clone\n>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith\n>> ub.com%2Fdotnet%2Fllvm-project&data=05%7C01%7CPremek.Vysoky%40microsof\n>> t.com%7Ca9684566250842b65be608db749b030b%7C72f988bf86f141af91ab2d7cd01\n>> 1db47%7C1%7C0%7C638231981398613951%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4\n>> wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7\n>> C&sdata=prrT8WKHGtvll2XG%2FKSrxSOplev6eLjjeBGu%2FRQzOMg%3D&reserved=0\n>> git -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)**/*' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg'\n>> mkdir foo\n>> git -C foo init\n>> git -C foo apply --cached --ignore-space-change ../llvm.patch\n>>\n>> What did you expect to happen? (Expected behavior) Patch should be\n>> created and applied to another folder\n>>\n>> What happened instead? (Actual behavior) git apply fails with 'error:\n>> git apply: failed to read: No such file or directory'\n>> (and returns 128)\n> \n> This stems from commit f1c0e3946e (apply: reject patches larger than ~1 GiB, 2022-10-25). Unfortunately it does not provide a very helpful error message. I'll submit a patch later to fix that in the next few days.\n> \n> Best Wishes\n> \n> Phillip\n> \n>> What's different between what you expected and what actually happened?\n>> There is no error. I tried -v, --reject etc but wasn't able to get any details.\n>>\n>> Anything else you want to add:\n>> This happens in both Windows and Linux environments.\n>>\n>> I tried analyzing file handlers via procmon.exe and could not see anything. git reads the whole patch and then shuts down. No indication of a file it is trying to open.\n>>\n>> I tried excluding more files from the patch and then I was able to create/apply the patch, like so:\n>>\n>> git -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)**/*' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg' ':(exclude,glob)bolt' ':(exclude,glob)clang/docs' ':(exclude,glob)clang/www' ':(exclude,glob)flang' ':(exclude,glob)libclc' ':(exclude,glob)lldb' ':(exclude,glob)llvm/docs' ':(exclude,glob)mlir' ':(exclude,glob)openmp' ':(exclude,glob)polly' ':(exclude,glob)pstl' ':(exclude,glob)third-party' ':(exclude,glob)**/tests/**'\n>>\n>> But if I do the opposite and create a patch with only the previously excluded files, I'd expect that it breaks. But this works as well!\n>>\n>> git -C llvm-project diff --patch --binary --output ../llvm.patch 4b825dc642cb6eb9a060e54bf8d69288fbee4904..30e9e6bc2e9f04e0a75daf4b8088ee91f66069da -- ':(glob)bolt' ':(glob)clang/docs' ':(glob)clang/www' ':(glob)flang' ':(glob)libclc' ':(glob)lldb' ':(glob)llvm/docs' ':(glob)mlir' ':(glob)openmp' ':(glob)polly' ':(glob)pstl' ':(glob)third-party' ':(glob)**/tests/**' ':(exclude,glob)**/*.dll' ':(exclude,glob)**/*.Dll' ':(exclude,glob)**/*.exe' ':(exclude,glob)**/*.pdb' ':(exclude,glob)**/*.mdb' ':(exclude,glob)**/*.zip' ':(exclude,glob)**/*.nupkg'\n>>\n>> Only when they are together, git fails. Size of the patch is 1GB but I've had 3GB patches apply successfully before.\n>>\n>> Please review the rest of the bug report below.\n>> You can delete any lines you don't wish to share.\n>>\n>>\n>> [System Info]\n>> git version:\n>> git version 2.41.0.windows.1\n>> cpu: x86_64\n>> built from commit: ff94e79c4724635915dbb3d4ba38f6bb91528260\n>> sizeof-long: 4\n>> sizeof-size_t: 8\n>> shell-path: /bin/sh\n>> feature: fsmonitor--daemon\n>> uname: Windows 10.0 22621\n>> compiler info: gnuc: 13.1\n>> libc info: no libc information available $SHELL (typically,\n>> interactive shell): <unset>\n>>\n>>\n>> [Enabled Hooks]\n>> not run from a git repository - no hooks to show\n"}]}