-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
topiary: 0.3.0 → 0.4.0 #340964
base: master
Are you sure you want to change the base?
topiary: 0.3.0 → 0.4.0 #340964
Conversation
A messy update to say the least. Topiary 0.4.0 was released a while back, but the update was non-trivial. Not only did a bunch of Git outputHashes SHAs need to get updated & a new, revendored Cargo.lock, but a Git submodule in tree-sitter-bash, which is by Topiary referenced at an arbitrary point in 0.19.0’s history, is now no longer up & needed patching to remove it. To circumvent needing to learn how patch to a Cargo dependency for this, I have forked the tree-sitter-bash project @ Topiary 0.4.0’s commit + cherry-picked the b2959f8be16fa1e2ee88a560074527fdef05b328 patch which removes the submodule dependencies (to check that this is indeed the case, you may check the commit graph <https://codeberg.org/toastal/tree-sitter-bash/graph>). I also opened an upstream issue with Topiary <tweag/topiary#734> to hopefully in the future start keeping these grammar queries updated more often than once every 3 years. Co-Authored-By: Avi Dessauer <avi.the.coder@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since fetching the submodule is doable, avoid replacing the tree-sitter-bash
's repository with your own.
This would make checking changes (and verifying that your repo matches upstream's contents) much more difficult, not to mention maintaining that repo creates an additional maintenance burden.
-tree-sitter-bash = { git = "https://github.com/tree-sitter/tree-sitter-bash", rev = "1b0321ee85701d5036c334a6f04761cdc672e64c" } | ||
+tree-sitter-bash = { git = "https://codeberg.org/toastal/tree-sitter-bash", rev = "7d944f110a29be19c727fdb08d0d2784e277a8de" } | ||
tree-sitter-css = { git = "https://github.com/tree-sitter/tree-sitter-css.git", rev = "02b4ee757654b7d54fe35352fd8e53a8a4385d42" } | ||
tree-sitter-json = { git = "https://github.com/tree-sitter/tree-sitter-json.git", rev = "3b129203f4b72d532f58e72c5310c0a7db3b8e6d" } | ||
tree-sitter-nickel = { git = "https://github.com/nickel-lang/tree-sitter-nickel", rev = "43433d8477b24cd13acaac20a66deda49b7e2547" } | ||
|
||
--- a/Cargo.lock 2024-09-10 11:56:50.347199224 +0700 | ||
+++ b/Cargo.lock 2024-09-10 11:54:37.112528333 +0700 | ||
@@ -1383,7 +1383,7 @@ | ||
[[package]] | ||
name = "tree-sitter-bash" | ||
version = "0.19.0" | ||
-source = "git+https://github.com/tree-sitter/tree-sitter-bash?rev=1b0321ee85701d5036c334a6f04761cdc672e64c#1b0321ee85701d5036c334a6f04761cdc672e64c" | ||
+source = "git+https://codeberg.org/toastal/tree-sitter-bash?rev=7d944f110a29be19c727fdb08d0d2784e277a8de#7d944f110a29be19c727fdb08d0d2784e277a8de" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@toastal I couldn't reproduce the issue with fetching from Savahna:
❯ git clone https://github.com/tree-sitter/tree-sitter-bash
Cloning into 'tree-sitter-bash'...
remote: Enumerating objects: 2580, done.
remote: Counting objects: 100% (1154/1154), done.
remote: Compressing objects: 100% (329/329), done.
remote: Total 2580 (delta 856), reused 988 (delta 778), pack-reused 1426 (from 1)
Receiving objects: 100% (2580/2580), 16.34 MiB | 16.78 MiB/s, done.
Resolving deltas: 100% (1651/1651), done.
❯ cd tree-sitter-bash
❯ git checkout 1b0321ee85701d5036c334a6f04761cdc672e64c
HEAD is now at 1b0321e Merge pull request #182 from amaanq/fix-conflicts
❯ git submodule init
Submodule 'examples/bash' (https://git.savannah.gnu.org/git/bash.git) registered for path 'examples/bash'
Submodule 'examples/bash-it' (https://github.com/Bash-it/bash-it.git) registered for path 'examples/bash-it'
❯ git submodule update
Cloning into '/tmp/tmp.knu8J5GK0a/tree-sitter-bash/examples/bash'...
Cloning into '/tmp/tmp.knu8J5GK0a/tree-sitter-bash/examples/bash-it'...
Submodule path 'examples/bash': checked out 'a99d905216cc0aac5de0c3050f4afc54e21c6bc5'
Submodule path 'examples/bash-it': checked out 'c3d9c46ef832f808c929a22b36c8ef6dd45cb98a'
❯ ll examples/bash*
examples/bash:
.rw-r--r-- 94k nicoo 12 sept. 11:28 ABOUT-NLS
.rw-r--r-- 57k nicoo 12 sept. 11:28 aclocal.m4
.rw-r--r-- 15k nicoo 12 sept. 11:28 alias.c
.rw-r--r-- 2,3k nicoo 12 sept. 11:28 alias.h
[...]
examples/bash-it:
drwxr-xr-x - nicoo 12 sept. 11:28 aliases
.rwxr-xr-x 3,0k nicoo 12 sept. 11:28 bash_it.sh
drwxr-xr-x - nicoo 12 sept. 11:28 completion
[...]
git submodule update
took 3m 21s, which should be no problem during builds, especially once Hydra caches it.
Will check when I am back & I hope you are right since I don’t like or want this solution either, but it was failing otherwise in my sandbox due to the submodule.
--
toastal ไข่ดาว | https://toast.al
PGP: 7944 74b7 d236 dab9 c9ef e7f9 5cce 6f14 66d4 7c9e
|
Uh. You are correct, it does fail when building the drv: error: Server does not allow request for unadvertised object a99d905216cc0aac5de0c3050f4afc54e21c6bc5exporting https://github.com/tree-sitter/tree-sitter-bash (rev 1b0321ee85701d5036c334a6f04761cdc672e64c) into /nix/store/znbknz2j5li1f1y8nh8b8kvsa0ag24xl-tree-sitter-bash-1b0321e Initialized empty Git repository in /nix/store/znbknz2j5li1f1y8nh8b8kvsa0ag24xl-tree-sitter-bash-1b0321e/.git/ remote: Enumerating objects: 55, done.�[K remote: Counting objects: 1% (1/55)�[K remote: Counting objects: 3% (2/55)�[K remote: Counting objects: 5% (3/55)�[K remote: Counting objects: 7% (4/55)�[K remote: Counting objects: 9% (5/55)�[K remote: Counting objects: 10% (6/55)�[K remote: Counting objects: 12% (7/55)�[K remote: Counting objects: 14% (8/55)�[K remote: Counting objects: 16% (9/55)�[K remote: Counting objects: 18% (10/55)�[K remote: Counting objects: 20% (11/55)�[K remote: Counting objects: 21% (12/55)�[K remote: Counting objects: 23% (13/55)�[K remote: Counting objects: 25% (14/55)�[K remote: Counting objects: 27% (15/55)�[K remote: Counting objects: 29% (16/55)�[K remote: Counting objects: 30% (17/55)�[K remote: Counting objects: 32% (18/55)�[K remote: Counting objects: 34% (19/55)�[K remote: Counting objects: 36% (20/55)�[K remote: Counting objects: 38% (21/55)�[K remote: Counting objects: 40% (22/55)�[K remote: Counting objects: 41% (23/55)�[K remote: Counting objects: 43% (24/55)�[K remote: Counting objects: 45% (25/55)�[K remote: Counting objects: 47% (26/55)�[K remote: Counting objects: 49% (27/55)�[K remote: Counting objects: 50% (28/55)�[K remote: Counting objects: 52% (29/55)�[K remote: Counting objects: 54% (30/55)�[K remote: Counting objects: 56% (31/55)�[K remote: Counting objects: 58% (32/55)�[K remote: Counting objects: 60% (33/55)�[K remote: Counting objects: 61% (34/55)�[K remote: Counting objects: 63% (35/55)�[K remote: Counting objects: 65% (36/55)�[K remote: Counting objects: 67% (37/55)�[K remote: Counting objects: 69% (38/55)�[K remote: Counting objects: 70% (39/55)�[K remote: Counting objects: 72% (40/55)�[K remote: Counting objects: 74% (41/55)�[K remote: Counting objects: 76% (42/55)�[K remote: Counting objects: 78% (43/55)�[K remote: Counting objects: 80% (44/55)�[K remote: Counting objects: 81% (45/55)�[K remote: Counting objects: 83% (46/55)�[K remote: Counting objects: 85% (47/55)�[K remote: Counting objects: 87% (48/55)�[K remote: Counting objects: 89% (49/55)�[K remote: Counting objects: 90% (50/55)�[K remote: Counting objects: 92% (51/55)�[K remote: Counting objects: 94% (52/55)�[K remote: Counting objects: 96% (53/55)�[K remote: Counting objects: 98% (54/55)�[K remote: Counting objects: 100% (55/55)�[K remote: Counting objects: 100% (55/55), done.�[K remote: Compressing objects: 2% (1/48)�[K remote: Compressing objects: 4% (2/48)�[K remote: Compressing objects: 6% (3/48)�[K remote: Compressing objects: 8% (4/48)�[K remote: Compressing objects: 10% (5/48)�[K remote: Compressing objects: 12% (6/48)�[K remote: Compressing objects: 14% (7/48)�[K remote: Compressing objects: 16% (8/48)�[K remote: Compressing objects: 18% (9/48)�[K remote: Compressing objects: 20% (10/48)�[K remote: Compressing objects: 22% (11/48)�[K remote: Compressing objects: 25% (12/48)�[K remote: Compressing objects: 27% (13/48)�[K remote: Compressing objects: 29% (14/48)�[K remote: Compressing objects: 31% (15/48)�[K remote: Compressing objects: 33% (16/48)�[K remote: Compressing objects: 35% (17/48)�[K remote: Compressing objects: 37% (18/48)�[K remote: Compressing objects: 39% (19/48)�[K remote: Compressing objects: 41% (20/48)�[K remote: Compressing objects: 43% (21/48)�[K remote: Compressing objects: 45% (22/48)�[K remote: Compressing objects: 47% (23/48)�[K remote: Compressing objects: 50% (24/48)�[K remote: Compressing objects: 52% (25/48)�[K remote: Compressing objects: 54% (26/48)�[K remote: Compressing objects: 56% (27/48)�[K remote: Compressing objects: 58% (28/48)�[K remote: Compressing objects: 60% (29/48)�[K remote: Compressing objects: 62% (30/48)�[K remote: Compressing objects: 64% (31/48)�[K remote: Compressing objects: 66% (32/48)�[K remote: Compressing objects: 68% (33/48)�[K remote: Compressing objects: 70% (34/48)�[K remote: Compressing objects: 72% (35/48)�[K remote: Compressing objects: 75% (36/48)�[K remote: Compressing objects: 77% (37/48)�[K remote: Compressing objects: 79% (38/48)�[K remote: Compressing objects: 81% (39/48)�[K remote: Compressing objects: 83% (40/48)�[K remote: Compressing objects: 85% (41/48)�[K remote: Compressing objects: 87% (42/48)�[K remote: Compressing objects: 89% (43/48)�[K remote: Compressing objects: 91% (44/48)�[K remote: Compressing objects: 93% (45/48)�[K remote: Compressing objects: 95% (46/48)�[K remote: Compressing objects: 97% (47/48)�[K remote: Compressing objects: 100% (48/48)�[K remote: Compressing objects: 100% (48/48), done.�[K Unpacking objects: 1% (1/55) Unpacking objects: 3% (2/55) Unpacking objects: 5% (3/55) Unpacking objects: 7% (4/55) Unpacking objects: 9% (5/55) Unpacking objects: 10% (6/55) Unpacking objects: 12% (7/55) Unpacking objects: 14% (8/55) Unpacking objects: 16% (9/55) Unpacking objects: 18% (10/55) Unpacking objects: 20% (11/55) Unpacking objects: 21% (12/55) Unpacking objects: 23% (13/55) Unpacking objects: 25% (14/55) Unpacking objects: 27% (15/55) Unpacking objects: 29% (16/55) Unpacking objects: 30% (17/55) Unpacking objects: 32% (18/55) Unpacking objects: 34% (19/55) Unpacking objects: 36% (20/55) Unpacking objects: 38% (21/55) Unpacking objects: 40% (22/55) Unpacking objects: 41% (23/55) Unpacking objects: 43% (24/55) Unpacking objects: 45% (25/55) Unpacking objects: 47% (26/55) Unpacking objects: 49% (27/55) Unpacking objects: 50% (28/55) Unpacking objects: 52% (29/55) Unpacking objects: 54% (30/55) Unpacking objects: 56% (31/55) Unpacking objects: 58% (32/55) Unpacking objects: 60% (33/55) Unpacking objects: 61% (34/55) Unpacking objects: 63% (35/55) Unpacking objects: 65% (36/55) Unpacking objects: 67% (37/55) Unpacking objects: 69% (38/55) Unpacking objects: 70% (39/55) Unpacking objects: 72% (40/55) Unpacking objects: 74% (41/55) Unpacking objects: 76% (42/55) Unpacking objects: 78% (43/55) Unpacking objects: 80% (44/55) Unpacking objects: 81% (45/55) Unpacking objects: 83% (46/55) Unpacking objects: 85% (47/55) Unpacking objects: 87% (48/55) Unpacking objects: 89% (49/55) Unpacking objects: 90% (50/55) Unpacking objects: 92% (51/55) remote: Total 55 (delta 1), reused 32 (delta 0), pack-reused 0 (from 0)�[K Unpacking objects: 94% (52/55) Unpacking objects: 96% (53/55) Unpacking objects: 98% (54/55) Unpacking objects: 100% (55/55) Unpacking objects: 100% (55/55), 205.71 KiB | 586.00 KiB/s, done. From https://github.com/tree-sitter/tree-sitter-bash * branch 1b0321ee85701d5036c334a6f04761cdc672e64c -> FETCH_HEAD Switched to a new branch 'fetchgit' Submodule 'examples/bash' (https://git.savannah.gnu.org/git/bash.git) registered for path 'examples/bash' Submodule 'examples/bash-it' (https://github.com/Bash-it/bash-it.git) registered for path 'examples/bash-it' Cloning into '/nix/store/znbknz2j5li1f1y8nh8b8kvsa0ag24xl-tree-sitter-bash-1b0321e/examples/bash'... remote: Counting objects: 1479, done. remote: Compressing objects: 0% (1/1216) remote: Compressing objects: 1% (13/1216) remote: Compressing objects: 2% (25/1216) remote: Compressing objects: 3% (37/1216) remote: Compressing objects: 4% (49/1216) remote: Compressing objects: 5% (61/1216) remote: Compressing objects: 6% (73/1216) remote: Compressing objects: 7% (86/1216) remote: Compressing objects: 8% (98/1216) remote: Compressing objects: 9% (110/1216) remote: Compressing objects: 10% (122/1216) remote: Compressing objects: 11% (134/1216) remote: Compressing objects: 12% (146/1216) remote: Compressing objects: 13% (159/1216) remote: Compressing objects: 14% (171/1216) remote: Compressing objects: 15% (183/1216) remote: Compressing objects: 16% (195/1216) remote: Compressing objects: 17% (207/1216) remote: Compressing objects: 18% (219/1216) remote: Compressing objects: 19% (232/1216) remote: Compressing objects: 20% (244/1216) remote: Compressing objects: 21% (256/1216) remote: Compressing objects: 22% (268/1216) remote: Compressing objects: 23% (280/1216) remote: Compressing objects: 24% (292/1216) remote: Compressing objects: 25% (304/1216) remote: Compressing objects: 26% (317/1216) remote: Compressing objects: 27% (329/1216) remote: Compressing objects: 28% (341/1216) remote: Compressing objects: 29% (353/1216) remote: Compressing objects: 30% (365/1216) remote: Compressing objects: 31% (377/1216) remote: Compressing objects: 32% (390/1216) remote: Compressing objects: 33% (402/1216) remote: Compressing objects: 34% (414/1216) remote: Compressing objects: 35% (426/1216) remote: Compressing objects: 36% (438/1216) remote: Compressing objects: 37% (450/1216) remote: Compressing objects: 38% (463/1216) remote: Compressing objects: 39% (475/1216) remote: Compressing objects: 40% (487/1216) remote: Compressing objects: 41% (499/1216) remote: Compressing objects: 42% (511/1216) remote: Compressing objects: 43% (523/1216) remote: Compressing objects: 44% (536/1216) remote: Compressing objects: 45% (548/1216) remote: Compressing objects: 46% (560/1216) remote: Compressing objects: 47% (572/1216) remote: Compressing objects: 48% (584/1216) remote: Compressing objects: 49% (596/1216) remote: Compressing objects: 50% (608/1216) remote: Compressing objects: 51% (621/1216) remote: Compressing objects: 52% (633/1216) remote: Compressing objects: 53% (645/1216) remote: Compressing objects: 54% (657/1216) remote: Compressing objects: 55% (669/1216) remote: Compressing objects: 56% (681/1216) remote: Compressing objects: 57% (694/1216) remote: Compressing objects: 58% (706/1216) remote: Compressing objects: 59% (718/1216) remote: Compressing objects: 60% (730/1216) remote: Compressing objects: 61% (742/1216) remote: Compressing objects: 62% (754/1216) remote: Compressing objects: 63% (767/1216) remote: Compressing objects: 64% (779/1216) remote: Compressing objects: 65% (791/1216) remote: Compressing objects: 66% (803/1216) remote: Compressing objects: 67% (815/1216) remote: Compressing objects: 68% (827/1216) remote: Compressing objects: 69% (840/1216) remote: Compressing objects: 70% (852/1216) remote: Compressing objects: 71% (864/1216) remote: Compressing objects: 72% (876/1216) remote: Compressing objects: 73% (888/1216) remote: Compressing objects: 74% (900/1216) remote: Compressing objects: 75% (912/1216) remote: Compressing objects: 76% (925/1216) remote: Compressing objects: 77% (937/1216) remote: Compressing objects: 78% (949/1216) remote: Compressing objects: 79% (961/1216) remote: Compressing objects: 80% (973/1216) remote: Compressing objects: 81% (985/1216) remote: Compressing objects: 82% (998/1216) remote: Compressing objects: 83% (1010/1216) remote: Compressing objects: 84% (1022/1216) remote: Compressing objects: 85% (1034/1216) remote: Compressing objects: 86% (1046/1216) remote: Compressing objects: 87% (1058/1216) remote: Compressing objects: 88% (1071/1216) remote: Compressing objects: 89% (1083/1216) remote: Compressing objects: 90% (1095/1216) remote: Compressing objects: 91% (1107/1216) remote: Compressing objects: 92% (1119/1216) remote: Compressing objects: 93% (1131/1216) remote: Compressing objects: 94% (1144/1216) remote: Compressing objects: 95% (1156/1216) remote: Compressing objects: 96% (1168/1216) remote: Compressing objects: 97% (1180/1216) remote: Compressing objects: 98% (1192/1216) remote: Compressing objects: 99% (1204/1216) remote: Compressing objects: 100% (1216/1216) remote: Compressing objects: 100% (1216/1216), done. Receiving objects: 0% (1/1479) Receiving objects: 1% (15/1479), 172.00 KiB | 312.00 KiB/s Receiving objects: 2% (30/1479), 172.00 KiB | 312.00 KiB/s Receiving objects: 2% (43/1479), 364.00 KiB | 293.00 KiB/s Receiving objects: 3% (45/1479), 364.00 KiB | 293.00 KiB/s Receiving objects: 4% (60/1479), 364.00 KiB | 293.00 KiB/s Receiving objects: 5% (74/1479), 364.00 KiB | 293.00 KiB/s Receiving objects: 6% (89/1479), 364.00 KiB | 293.00 KiB/s Receiving objects: 7% (104/1479), 364.00 KiB | 293.00 KiB/s Receiving objects: 8% (119/1479), 364.00 KiB | 293.00 KiB/s Receiving objects: 9% (134/1479), 364.00 KiB | 293.00 KiB/s Receiving objects: 10% (148/1479), 1.14 MiB | 671.00 KiB/s Receiving objects: 10% (158/1479), 2.48 MiB | 905.00 KiB/s Receiving objects: 10% (162/1479), 3.89 MiB | 1.02 MiB/s Receiving objects: 11% (163/1479), 3.89 MiB | 1.02 MiB/s Receiving objects: 12% (178/1479), 4.58 MiB | 1.06 MiB/s Receiving objects: 13% (193/1479), 4.58 MiB | 1.06 MiB/s Receiving objects: 14% (208/1479), 4.58 MiB | 1.06 MiB/s Receiving objects: 15% (222/1479), 4.58 MiB | 1.06 MiB/s Receiving objects: 16% (237/1479), 4.58 MiB | 1.06 MiB/s Receiving objects: 17% (252/1479), 4.58 MiB | 1.06 MiB/s Receiving objects: 18% (267/1479), 4.58 MiB | 1.06 MiB/s Receiving objects: 19% (282/1479), 4.58 MiB | 1.06 MiB/s Receiving objects: 20% (296/1479), 4.58 MiB | 1.06 MiB/s Receiving objects: 21% (311/1479), 4.58 MiB | 1.06 MiB/s Receiving objects: 22% (326/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 23% (341/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 24% (355/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 25% (370/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 26% (385/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 27% (400/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 28% (415/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 28% (420/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 29% (429/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 30% (444/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 31% (459/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 32% (474/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 33% (489/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 34% (503/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 35% (518/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 36% (533/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 37% (548/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 38% (563/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 39% (577/1479), 5.32 MiB | 1.09 MiB/s Receiving objects: 40% (592/1479), 6.05 MiB | 1.22 MiB/s Receiving objects: 41% (607/1479), 6.05 MiB | 1.22 MiB/s Receiving objects: 42% (622/1479), 6.05 MiB | 1.22 MiB/s Receiving objects: 43% (636/1479), 6.05 MiB | 1.22 MiB/s Receiving objects: 44% (651/1479), 6.05 MiB | 1.22 MiB/s Receiving objects: 45% (666/1479), 6.05 MiB | 1.22 MiB/s Receiving objects: 46% (681/1479), 6.77 MiB | 1.38 MiB/s Receiving objects: 46% (684/1479), 6.77 MiB | 1.38 MiB/s Receiving objects: 47% (696/1479), 6.77 MiB | 1.38 MiB/s Receiving objects: 48% (710/1479), 7.49 MiB | 1.37 MiB/s Receiving objects: 49% (725/1479), 7.49 MiB | 1.37 MiB/s Receiving objects: 49% (732/1479), 8.24 MiB | 1.40 MiB/s Receiving objects: 50% (740/1479), 8.24 MiB | 1.40 MiB/s Receiving objects: 51% (755/1479), 8.77 MiB | 1.36 MiB/s Receiving objects: 52% (770/1479), 8.77 MiB | 1.36 MiB/s Receiving objects: 53% (784/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 54% (799/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 55% (814/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 56% (829/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 57% (844/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 58% (858/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 58% (868/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 59% (873/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 60% (888/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 61% (903/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 62% (917/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 63% (932/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 64% (947/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 65% (962/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 66% (977/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 67% (991/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 68% (1006/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 69% (1021/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 70% (1036/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 71% (1051/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 72% (1065/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 73% (1080/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 74% (1095/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 75% (1110/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 76% (1125/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 77% (1139/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 78% (1154/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 79% (1169/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 80% (1184/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 81% (1198/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 82% (1213/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 83% (1228/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 84% (1243/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 85% (1258/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 86% (1272/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 87% (1287/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 88% (1302/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 89% (1317/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 90% (1332/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 91% (1346/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 92% (1361/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 93% (1376/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 94% (1391/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 95% (1406/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 96% (1420/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 97% (1435/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 98% (1450/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 99% (1465/1479), 9.30 MiB | 1.32 MiB/s remote: Total 1479 (delta 346), reused 781 (delta 239) Receiving objects: 100% (1479/1479), 9.30 MiB | 1.32 MiB/s Receiving objects: 100% (1479/1479), 9.84 MiB | 1.18 MiB/s, done. Resolving deltas: 0% (0/346) Resolving deltas: 1% (4/346) Resolving deltas: 2% (7/346) Resolving deltas: 3% (11/346) Resolving deltas: 4% (14/346) Resolving deltas: 5% (19/346) Resolving deltas: 6% (21/346) Resolving deltas: 7% (25/346) Resolving deltas: 8% (28/346) Resolving deltas: 9% (32/346) Resolving deltas: 10% (35/346) Resolving deltas: 11% (39/346) Resolving deltas: 12% (42/346) Resolving deltas: 13% (45/346) Resolving deltas: 14% (49/346) Resolving deltas: 15% (53/346) Resolving deltas: 16% (56/346) Resolving deltas: 17% (59/346) Resolving deltas: 18% (63/346) Resolving deltas: 19% (66/346) Resolving deltas: 20% (72/346) Resolving deltas: 21% (73/346) Resolving deltas: 22% (77/346) Resolving deltas: 23% (80/346) Resolving deltas: 24% (84/346) Resolving deltas: 25% (87/346) Resolving deltas: 26% (90/346) Resolving deltas: 27% (94/346) Resolving deltas: 28% (99/346) Resolving deltas: 29% (101/346) Resolving deltas: 30% (104/346) Resolving deltas: 31% (108/346) Resolving deltas: 32% (112/346) Resolving deltas: 33% (115/346) Resolving deltas: 34% (118/346) Resolving deltas: 35% (122/346) Resolving deltas: 36% (125/346) Resolving deltas: 37% (129/346) Resolving deltas: 38% (132/346) Resolving deltas: 39% (135/346) Resolving deltas: 40% (139/346) Resolving deltas: 41% (142/346) Resolving deltas: 42% (146/346) Resolving deltas: 43% (149/346) Resolving deltas: 44% (153/346) Resolving deltas: 45% (156/346) Resolving deltas: 46% (161/346) Resolving deltas: 47% (163/346) Resolving deltas: 48% (167/346) Resolving deltas: 49% (170/346) Resolving deltas: 50% (173/346) Resolving deltas: 51% (177/346) Resolving deltas: 52% (180/346) Resolving deltas: 53% (184/346) Resolving deltas: 54% (187/346) Resolving deltas: 55% (191/346) Resolving deltas: 56% (194/346) Resolving deltas: 57% (198/346) Resolving deltas: 58% (201/346) Resolving deltas: 59% (206/346) Resolving deltas: 60% (209/346) Resolving deltas: 61% (212/346) Resolving deltas: 62% (215/346) Resolving deltas: 63% (218/346) Resolving deltas: 64% (222/346) Resolving deltas: 65% (225/346) Resolving deltas: 66% (229/346) Resolving deltas: 67% (232/346) Resolving deltas: 68% (236/346) Resolving deltas: 69% (239/346) Resolving deltas: 70% (243/346) Resolving deltas: 71% (246/346) Resolving deltas: 72% (250/346) Resolving deltas: 73% (253/346) Resolving deltas: 74% (257/346) Resolving deltas: 75% (260/346) Resolving deltas: 76% (264/346) Resolving deltas: 77% (267/346) Resolving deltas: 78% (270/346) Resolving deltas: 79% (274/346) Resolving deltas: 80% (277/346) Resolving deltas: 81% (281/346) Resolving deltas: 82% (284/346) Resolving deltas: 83% (288/346) Resolving deltas: 84% (291/346) Resolving deltas: 85% (295/346) Resolving deltas: 86% (298/346) Resolving deltas: 87% (302/346) Resolving deltas: 88% (305/346) Resolving deltas: 89% (308/346) Resolving deltas: 90% (312/346) Resolving deltas: 91% (315/346) Resolving deltas: 92% (319/346) Resolving deltas: 93% (322/346) Resolving deltas: 94% (326/346) Resolving deltas: 95% (329/346) Resolving deltas: 96% (334/346) Resolving deltas: 97% (336/346) Resolving deltas: 98% (340/346) Resolving deltas: 99% (343/346) Resolving deltas: 100% (346/346) Resolving deltas: 100% (346/346), done. Cloning into '/nix/store/znbknz2j5li1f1y8nh8b8kvsa0ag24xl-tree-sitter-bash-1b0321e/examples/bash-it'... remote: Enumerating objects: 599, done. remote: Counting objects: 0% (1/599) remote: Counting objects: 1% (6/599) remote: Counting objects: 2% (12/599) remote: Counting objects: 3% (18/599) remote: Counting objects: 4% (24/599) remote: Counting objects: 5% (30/599) remote: Counting objects: 6% (36/599) remote: Counting objects: 7% (42/599) remote: Counting objects: 8% (48/599) remote: Counting objects: 9% (54/599) remote: Counting objects: 10% (60/599) remote: Counting objects: 11% (66/599) remote: Counting objects: 12% (72/599) remote: Counting objects: 13% (78/599) remote: Counting objects: 14% (84/599) remote: Counting objects: 15% (90/599) remote: Counting objects: 16% (96/599) remote: Counting objects: 17% (102/599) remote: Counting objects: 18% (108/599) remote: Counting objects: 19% (114/599) remote: Counting objects: 20% (120/599) remote: Counting objects: 21% (126/599) remote: Counting objects: 22% (132/599) remote: Counting objects: 23% (138/599) remote: Counting objects: 24% (144/599) remote: Counting objects: 25% (150/599) remote: Counting objects: 26% (156/599) remote: Counting objects: 27% (162/599) remote: Counting objects: 28% (168/599) remote: Counting objects: 29% (174/599) remote: Counting objects: 30% (180/599) remote: Counting objects: 31% (186/599) remote: Counting objects: 32% (192/599) remote: Counting objects: 33% (198/599) remote: Counting objects: 34% (204/599) remote: Counting objects: 35% (210/599) remote: Counting objects: 36% (216/599) remote: Counting objects: 37% (222/599) remote: Counting objects: 38% (228/599) remote: Counting objects: 39% (234/599) remote: Counting objects: 40% (240/599) remote: Counting objects: 41% (246/599) remote: Counting objects: 42% (252/599) remote: Counting objects: 43% (258/599) remote: Counting objects: 44% (264/599) remote: Counting objects: 45% (270/599) remote: Counting objects: 46% (276/599) remote: Counting objects: 47% (282/599) remote: Counting objects: 48% (288/599) remote: Counting objects: 49% (294/599) remote: Counting objects: 50% (300/599) remote: Counting objects: 51% (306/599) remote: Counting objects: 52% (312/599) remote: Counting objects: 53% (318/599) remote: Counting objects: 54% (324/599) remote: Counting objects: 55% (330/599) remote: Counting objects: 56% (336/599) remote: Counting objects: 57% (342/599) remote: Counting objects: 58% (348/599) remote: Counting objects: 59% (354/599) remote: Counting objects: 60% (360/599) remote: Counting objects: 61% (366/599) remote: Counting objects: 62% (372/599) remote: Counting objects: 63% (378/599) remote: Counting objects: 64% (384/599) remote: Counting objects: 65% (390/599) remote: Counting objects: 66% (396/599) remote: Counting objects: 67% (402/599) remote: Counting objects: 68% (408/599) remote: Counting objects: 69% (414/599) remote: Counting objects: 70% (420/599) remote: Counting objects: 71% (426/599) remote: Counting objects: 72% (432/599) remote: Counting objects: 73% (438/599) remote: Counting objects: 74% (444/599) remote: Counting objects: 75% (450/599) remote: Counting objects: 76% (456/599) remote: Counting objects: 77% (462/599) remote: Counting objects: 78% (468/599) remote: Counting objects: 79% (474/599) remote: Counting objects: 80% (480/599) remote: Counting objects: 81% (486/599) remote: Counting objects: 82% (492/599) remote: Counting objects: 83% (498/599) remote: Counting objects: 84% (504/599) remote: Counting objects: 85% (510/599) remote: Counting objects: 86% (516/599) remote: Counting objects: 87% (522/599) remote: Counting objects: 88% (528/599) remote: Counting objects: 89% (534/599) remote: Counting objects: 90% (540/599) remote: Counting objects: 91% (546/599) remote: Counting objects: 92% (552/599) remote: Counting objects: 93% (558/599) remote: Counting objects: 94% (564/599) remote: Counting objects: 95% (570/599) remote: Counting objects: 96% (576/599) remote: Counting objects: 97% (582/599) remote: Counting objects: 98% (588/599) remote: Counting objects: 99% (594/599) remote: Counting objects: 100% (599/599) remote: Counting objects: 100% (599/599), done. remote: Compressing objects: 0% (1/472) remote: Compressing objects: 1% (5/472) remote: Compressing objects: 2% (10/472) remote: Compressing objects: 3% (15/472) remote: Compressing objects: 4% (19/472) remote: Compressing objects: 5% (24/472) remote: Compressing objects: 6% (29/472) remote: Compressing objects: 7% (34/472) remote: Compressing objects: 8% (38/472) remote: Compressing objects: 9% (43/472) remote: Compressing objects: 10% (48/472) remote: Compressing objects: 11% (52/472) remote: Compressing objects: 12% (57/472) remote: Compressing objects: 13% (62/472) remote: Compressing objects: 14% (67/472) remote: Compressing objects: 15% (71/472) remote: Compressing objects: 16% (76/472) remote: Compressing objects: 17% (81/472) remote: Compressing objects: 18% (85/472) remote: Compressing objects: 19% (90/472) remote: Compressing objects: 20% (95/472) remote: Compressing objects: 21% (100/472) remote: Compressing objects: 22% (104/472) remote: Compressing objects: 23% (109/472) remote: Compressing objects: 24% (114/472) remote: Compressing objects: 25% (118/472) remote: Compressing objects: 26% (123/472) remote: Compressing objects: 27% (128/472) remote: Compressing objects: 28% (133/472) remote: Compressing objects: 29% (137/472) remote: Compressing objects: 30% (142/472) remote: Compressing objects: 31% (147/472) remote: Compressing objects: 32% (152/472) remote: Compressing objects: 33% (156/472) remote: Compressing objects: 34% (161/472) remote: Compressing objects: 35% (166/472) remote: Compressing objects: 36% (170/472) remote: Compressing objects: 37% (175/472) remote: Compressing objects: 38% (180/472) remote: Compressing objects: 39% (185/472) remote: Compressing objects: 40% (189/472) remote: Compressing objects: 41% (194/472) remote: Compressing objects: 42% (199/472) remote: Compressing objects: 43% (203/472) remote: Compressing objects: 44% (208/472) remote: Compressing objects: 45% (213/472) remote: Compressing objects: 46% (218/472) remote: Compressing objects: 47% (222/472) remote: Compressing objects: 48% (227/472) remote: Compressing objects: 49% (232/472) remote: Compressing objects: 50% (236/472) remote: Compressing objects: 51% (241/472) remote: Compressing objects: 52% (246/472) remote: Compressing objects: 53% (251/472) remote: Compressing objects: 54% (255/472) remote: Compressing objects: 55% (260/472) remote: Compressing objects: 56% (265/472) remote: Compressing objects: 57% (270/472) remote: Compressing objects: 58% (274/472) remote: Compressing objects: 59% (279/472) remote: Compressing objects: 60% (284/472) remote: Compressing objects: 61% (288/472) remote: Compressing objects: 62% (293/472) remote: Compressing objects: 63% (298/472) remote: Compressing objects: 64% (303/472) remote: Compressing objects: 65% (307/472) remote: Compressing objects: 66% (312/472) remote: Compressing objects: 67% (317/472) remote: Compressing objects: 68% (321/472) remote: Compressing objects: 69% (326/472) remote: Compressing objects: 70% (331/472) remote: Compressing objects: 71% (336/472) remote: Compressing objects: 72% (340/472) remote: Compressing objects: 73% (345/472) remote: Compressing objects: 74% (350/472) remote: Compressing objects: 75% (354/472) remote: Compressing objects: 76% (359/472) remote: Compressing objects: 77% (364/472) remote: Compressing objects: 78% (369/472) remote: Compressing objects: 79% (373/472) remote: Compressing objects: 80% (378/472) remote: Compressing objects: 81% (383/472) remote: Compressing objects: 82% (388/472) remote: Compressing objects: 83% (392/472) remote: Compressing objects: 84% (397/472) remote: Compressing objects: 85% (402/472) remote: Compressing objects: 86% (406/472) remote: Compressing objects: 87% (411/472) remote: Compressing objects: 88% (416/472) remote: Compressing objects: 89% (421/472) remote: Compressing objects: 90% (425/472) remote: Compressing objects: 91% (430/472) remote: Compressing objects: 92% (435/472) remote: Compressing objects: 93% (439/472) remote: Compressing objects: 94% (444/472) remote: Compressing objects: 95% (449/472) remote: Compressing objects: 96% (454/472) remote: Compressing objects: 97% (458/472) remote: Compressing objects: 98% (463/472) remote: Compressing objects: 99% (468/472) remote: Compressing objects: 100% (472/472) remote: Compressing objects: 100% (472/472), done. Receiving objects: 0% (1/599) Receiving objects: 1% (6/599) Receiving objects: 2% (12/599) Receiving objects: 3% (18/599) Receiving objects: 4% (24/599) Receiving objects: 5% (30/599) Receiving objects: 6% (36/599) Receiving objects: 7% (42/599) Receiving objects: 8% (48/599) Receiving objects: 9% (54/599) Receiving objects: 10% (60/599) Receiving objects: 11% (66/599) Receiving objects: 12% (72/599) Receiving objects: 13% (78/599) Receiving objects: 14% (84/599) Receiving objects: 15% (90/599) Receiving objects: 16% (96/599) Receiving objects: 17% (102/599) Receiving objects: 18% (108/599) Receiving objects: 19% (114/599) Receiving objects: 20% (120/599) Receiving objects: 21% (126/599) Receiving objects: 22% (132/599) Receiving objects: 23% (138/599) Receiving objects: 24% (144/599) Receiving objects: 25% (150/599) Receiving objects: 26% (156/599) Receiving objects: 27% (162/599) Receiving objects: 28% (168/599) Receiving objects: 29% (174/599) Receiving objects: 30% (180/599) Receiving objects: 31% (186/599) Receiving objects: 32% (192/599) Receiving objects: 33% (198/599) Receiving objects: 34% (204/599) Receiving objects: 35% (210/599) Receiving objects: 36% (216/599) Receiving objects: 37% (222/599) Receiving objects: 38% (228/599) Receiving objects: 39% (234/599) Receiving objects: 40% (240/599) Receiving objects: 41% (246/599) Receiving objects: 42% (252/599) Receiving objects: 43% (258/599) Receiving objects: 44% (264/599) Receiving objects: 45% (270/599) Receiving objects: 46% (276/599) Receiving objects: 47% (282/599) Receiving objects: 48% (288/599) Receiving objects: 49% (294/599) Receiving objects: 50% (300/599) Receiving objects: 51% (306/599) Receiving objects: 52% (312/599) Receiving objects: 53% (318/599) Receiving objects: 54% (324/599) Receiving objects: 55% (330/599) Receiving objects: 56% (336/599) Receiving objects: 57% (342/599) Receiving objects: 58% (348/599) Receiving objects: 59% (354/599) Receiving objects: 60% (360/599) Receiving objects: 61% (366/599) Receiving objects: 62% (372/599) Receiving objects: 63% (378/599) Receiving objects: 64% (384/599) Receiving objects: 65% (390/599) Receiving objects: 66% (396/599) Receiving objects: 67% (402/599) Receiving objects: 68% (408/599) Receiving objects: 69% (414/599) Receiving objects: 70% (420/599) Receiving objects: 71% (426/599) Receiving objects: 72% (432/599) Receiving objects: 73% (438/599) Receiving objects: 74% (444/599) Receiving objects: 75% (450/599) Receiving objects: 76% (456/599) Receiving objects: 77% (462/599) Receiving objects: 78% (468/599) Receiving objects: 79% (474/599) Receiving objects: 80% (480/599) Receiving objects: 81% (486/599) Receiving objects: 82% (492/599) Receiving objects: 83% (498/599) Receiving objects: 84% (504/599) Receiving objects: 85% (510/599) Receiving objects: 86% (516/599) Receiving objects: 87% (522/599) Receiving objects: 88% (528/599) Receiving objects: 89% (534/599) Receiving objects: 90% (540/599) Receiving objects: 91% (546/599) Receiving objects: 92% (552/599) Receiving objects: 93% (558/599) Receiving objects: 94% (564/599) remote: Total 599 (delta 35), reused 435 (delta 26), pack-reused 0 (from 0) Receiving objects: 95% (570/599) Receiving objects: 96% (576/599) Receiving objects: 97% (582/599) Receiving objects: 98% (588/599) Receiving objects: 99% (594/599) Receiving objects: 100% (599/599) Receiving objects: 100% (599/599), 1.30 MiB | 4.01 MiB/s, done. Resolving deltas: 0% (0/35) Resolving deltas: 2% (1/35) Resolving deltas: 5% (2/35) Resolving deltas: 8% (3/35) Resolving deltas: 11% (4/35) Resolving deltas: 14% (5/35) Resolving deltas: 17% (6/35) Resolving deltas: 22% (8/35) Resolving deltas: 25% (9/35) Resolving deltas: 28% (10/35) Resolving deltas: 31% (11/35) Resolving deltas: 34% (12/35) Resolving deltas: 37% (13/35) Resolving deltas: 40% (14/35) Resolving deltas: 42% (15/35) Resolving deltas: 45% (16/35) Resolving deltas: 48% (17/35) Resolving deltas: 51% (18/35) Resolving deltas: 54% (19/35) Resolving deltas: 57% (20/35) Resolving deltas: 60% (21/35) Resolving deltas: 62% (22/35) Resolving deltas: 65% (23/35) Resolving deltas: 71% (25/35) Resolving deltas: 74% (26/35) Resolving deltas: 80% (28/35) Resolving deltas: 82% (29/35) Resolving deltas: 85% (30/35) Resolving deltas: 88% (31/35) Resolving deltas: 94% (33/35) Resolving deltas: 97% (34/35) Resolving deltas: 100% (35/35) Resolving deltas: 100% (35/35), done. remote: Total 0 (delta 0), reused 0 (delta 0)�[K error: Server does not allow request for unadvertised object a99d905216cc0aac5de0c3050f4afc54e21c6bc5 fatal: Fetched in submodule path 'examples/bash', but it did not contain a99d905216cc0aac5de0c3050f4afc54e21c6bc5. Direct fetching of that commit failed. error: Server does not allow request for unadvertised object a99d905216cc0aac5de0c3050f4afc54e21c6bc5 fatal: Fetched in submodule path 'examples/bash', but it did not contain a99d905216cc0aac5de0c3050f4afc54e21c6bc5. Direct fetching of that commit failed.
|
Oh, this is even documented in
TODO indeed 😹 PS: now reading |
Sorry, I got back & forgot to try to rebuild. Is there a suggestion here now as it seems the conversation developed further? You might be able to fetch & apply a singular patch to the |
The interesting bit here is that upstream tree-sitter-bash has removed the submodule dependency altogether so it can be safely skipped/ignored for this specific package upgrade, but topiary won’t be the last package needing a submodule like this. The obvious solution is to replace submodules & language package managers with Nix but I am not yet the Dictator of Software. |
Indeed. I believe the sensible thing to do here, is fix Note that fetching based on a named reference is not affected, including anything using the common pattern |
So is there a reasonable way to move forward? I have a proposed fix even if it is certainly ugly. |
@nbraud bump? |
@Lassulus & by that I mean is this a good idea perhaps to circumvent the upstream bash dependency issue since cargo fetching submodules isn’t easy with nix? |
0.5.1 dropped https://github.com/tweag/topiary/releases/tag/v0.5.1 |
Description of changes
A messy update to say the least. Topiary 0.4.0 was released a while
back, but the update was non-trivial. Not only did a bunch of Git
outputHashes SHAs need to get updated & a new, revendored Cargo.lock,
but a Git submodule in tree-sitter-bash, which is by Topiary referenced
at an arbitrary point in 0.19.0’s history, is now no longer up & needed
patching to remove it. To circumvent needing to learn how patch to a
Cargo dependency for this, I have forked the tree-sitter-bash project @
Topiary 0.4.0’s commit + cherry-picked the
b2959f8be16fa1e2ee88a560074527fdef05b328 patch which removes the
submodule dependencies (to check that this is indeed the case, you may
check the commit graph
https://codeberg.org/toastal/tree-sitter-bash/graph). I also opened an
upstream issue with Topiary
tweag/topiary#702 to hopefully in the future
start keeping these grammar queries updated more often than once every 3
years.
closes #312724
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.
1
Footnotes
Please consider giving up MS GitHub or offering a non-proprietary, non-US-corporate-controlled mirror for this free software project. I wish to delete this Microsoft account in the future, but I need more projects like this to support alternative methods to send patches & contribute. ↩