dep: Bump gix from v0.52.0 => v0.53.1 (#1354)

* dep: Bump gix from v0.52.0 => v0.53.1

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>

* Fix `gix` compilation: Enable `gix/max-performance-safe`

without this feature, `ThreadSafeRepository` does not implement `Sync`,
causes the `binstalk-registry` compilation to fail.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>

* Enable `gix/comfort` for progress tracing

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>

* Fixed gix progress tracking: Enable `gix/progress-tree`

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>

* Rm feature `gix/{comfort, progress-tree}`

Since they do not enable progress support and merely adds bloat.

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>

* Fix gix progress logging: Allow logging from simple-git

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>

* Re-enable feature `gix/comfort` for more readable logging

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>

---------

Signed-off-by: Jiahao XU <Jiahao_XU@outlook.com>
This commit is contained in:
Jiahao XU 2023-09-14 23:31:00 +10:00 committed by GitHub
parent f26ab41961
commit f31db762b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 164 additions and 231 deletions

277
Cargo.lock generated
View file

@ -17,18 +17,6 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "ahash"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c99f64d1e06488f620f932677e24bc6e2897582980441ae90a671415bd7ec2f"
dependencies = [
"cfg-if",
"getrandom",
"once_cell",
"version_check",
]
[[package]]
name = "alloc-no-stdlib"
version = "2.0.4"
@ -1175,12 +1163,11 @@ checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0"
[[package]]
name = "gix"
version = "0.52.0"
version = "0.53.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a35ed1401a11506b45361746507a7c94c546574ddd7dfc2717f8941e30070254"
checksum = "06a8c9f9452078f474fecd2880de84819b8c77224ab62273275b646bf785f906"
dependencies = [
"gix-actor",
"gix-archive",
"gix-attributes",
"gix-commitgraph",
"gix-config",
@ -1197,7 +1184,7 @@ dependencies = [
"gix-ignore",
"gix-index",
"gix-lock",
"gix-mailmap",
"gix-macros",
"gix-negotiate",
"gix-object",
"gix-odb",
@ -1209,6 +1196,7 @@ dependencies = [
"gix-ref",
"gix-refspec",
"gix-revision",
"gix-revwalk",
"gix-sec",
"gix-submodule",
"gix-tempfile",
@ -1220,12 +1208,9 @@ dependencies = [
"gix-validate",
"gix-worktree",
"gix-worktree-state",
"gix-worktree-stream",
"log",
"once_cell",
"parking_lot",
"reqwest",
"signal-hook",
"smallvec",
"thiserror",
"unicode-normalization",
@ -1233,9 +1218,9 @@ dependencies = [
[[package]]
name = "gix-actor"
version = "0.25.0"
version = "0.26.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f8a773b5385e9d2f88bd879fb763ec1212585f6d630ebe13adb7bac93bce975"
checksum = "8e8c6778cc03bca978b2575a03e04e5ba6f430a9dd9b0f1259f0a8a9a5e5cc66"
dependencies = [
"bstr",
"btoi",
@ -1245,31 +1230,18 @@ dependencies = [
"winnow",
]
[[package]]
name = "gix-archive"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5e560a446515b9890fbd84a4d6ec23b52f040a801d9623505cb860c077b021ea"
dependencies = [
"bstr",
"gix-date",
"gix-object",
"gix-worktree-stream",
"thiserror",
]
[[package]]
name = "gix-attributes"
version = "0.17.0"
version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1ecae08f2625d8abcd27570fa2f9c2fcf01a1cd968a8d90858e63f8e08211a3"
checksum = "d3548b76829d33a7160a4685134df16de0cc3b77418302e8a9969f0b662e698f"
dependencies = [
"bstr",
"gix-glob",
"gix-path",
"gix-quote",
"gix-trace",
"kstring",
"log",
"smallvec",
"thiserror",
"unicode-bom",
@ -1304,9 +1276,9 @@ dependencies = [
[[package]]
name = "gix-commitgraph"
version = "0.19.0"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3845b3c8722a0e97d9d593c05d384bb1275a5865f1cd967523a3780ffc93168e"
checksum = "4676ede3a7d37e7028e2889830349a6aca22efc1d2f2dd9fa3351c1a8ddb0c6a"
dependencies = [
"bstr",
"gix-chunk",
@ -1318,9 +1290,9 @@ dependencies = [
[[package]]
name = "gix-config"
version = "0.28.0"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a312d120231dc8d5a2e34928a9a2098c1d3dbad76f0660ee38d0b1a87de5271"
checksum = "1108c4ac88248dd25cc8ab0d0dae796e619fb72d92f88e30e00b29d61bb93cc4"
dependencies = [
"bstr",
"gix-config-value",
@ -1329,7 +1301,6 @@ dependencies = [
"gix-path",
"gix-ref",
"gix-sec",
"log",
"memchr",
"once_cell",
"smallvec",
@ -1340,9 +1311,9 @@ dependencies = [
[[package]]
name = "gix-config-value"
version = "0.13.0"
version = "0.14.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "901e184f3d4f99bf015ca13b5ccacb09e26b400f198fe2066651089e2c490680"
checksum = "ea7505b97f4d8e7933e29735a568ba2f86d8de466669d9f0e8321384f9972f47"
dependencies = [
"bitflags 2.4.0",
"bstr",
@ -1353,9 +1324,9 @@ dependencies = [
[[package]]
name = "gix-credentials"
version = "0.18.0"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2988e917f7ee4a99072354d5885ca14c9e7039de8246e96e300ab3e5060cad19"
checksum = "363e16428096b7311c380afe972831ea8b58fc1a1d1621dbdd865caf34921a54"
dependencies = [
"bstr",
"gix-command",
@ -1369,9 +1340,9 @@ dependencies = [
[[package]]
name = "gix-date"
version = "0.7.4"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0a825babda995d788e30d306a49dacd1e93d5f5d33d53c7682d0347cef40333c"
checksum = "fc7df669639582dc7c02737642f76890b03b5544e141caba68a7d6b4eb551e0d"
dependencies = [
"bstr",
"itoa",
@ -1381,21 +1352,20 @@ dependencies = [
[[package]]
name = "gix-diff"
version = "0.34.0"
version = "0.35.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "016be5f0789da595b61d15a862476be0cbae8fd29e2c91d66770fdd8df145773"
checksum = "b45e342d148373bd9070d557e6fb1280aeae29a3e05e32506682d027278501eb"
dependencies = [
"gix-hash",
"gix-object",
"imara-diff",
"thiserror",
]
[[package]]
name = "gix-discover"
version = "0.23.0"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b74760d912716b287357dae5654ad84be12a2a75a721f00b58ecdd65496e024"
checksum = "da4cacda5ee9dd1b38b0e2506834e40e66c08cf050ef55c344334c76745f277b"
dependencies = [
"bstr",
"dunce",
@ -1408,9 +1378,9 @@ dependencies = [
[[package]]
name = "gix-features"
version = "0.33.0"
version = "0.34.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f77decb545f63a52852578ef5f66ecd71017ffc1983d551d5fa2328d6d9817f"
checksum = "f414c99e1a7abc69b21f3225a6539d203b0513f1d1d448607c4ea81cdcf9ee59"
dependencies = [
"bytes",
"bytesize",
@ -1432,9 +1402,9 @@ dependencies = [
[[package]]
name = "gix-filter"
version = "0.3.0"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5f5495cdd54f4c3bb05b35a525cd39df1643362d917a7e03f112564c2825feb4"
checksum = "afbdb2ffae9e595d70f8c7b40953a82706d536bb8107874c258fe6368389832b"
dependencies = [
"bstr",
"encoding_rs",
@ -1452,18 +1422,18 @@ dependencies = [
[[package]]
name = "gix-fs"
version = "0.5.0"
version = "0.6.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d5089f3338647776733a75a800a664ab046f56f21c515fa4722e395f877ef8"
checksum = "404795da3d4c660c9ab6c3b2ad76d459636d1e1e4b37b0c7ff68eee898c298d4"
dependencies = [
"gix-features",
]
[[package]]
name = "gix-glob"
version = "0.11.0"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c753299d14a29ca06d7adc8464c16f1786eb97bc9a44a796ad0a37f57235a494"
checksum = "e3ac79c444193b0660fe0c0925d338bd338bd643e32138784dccfb12c628b892"
dependencies = [
"bitflags 2.4.0",
"bstr",
@ -1473,9 +1443,9 @@ dependencies = [
[[package]]
name = "gix-hash"
version = "0.12.0"
version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d4796bac3aaf0c2f8bea152ca924ae3bdc5f135caefe6431116bcd67e98eab9"
checksum = "2ccf425543779cddaa4a7c62aba3fa9d90ea135b160be0a72dd93c063121ad4a"
dependencies = [
"faster-hex",
"thiserror",
@ -1483,9 +1453,9 @@ dependencies = [
[[package]]
name = "gix-hashtable"
version = "0.3.0"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "45ad1b70efd1e77c32729d5a522f0c855e9827242feb10318e1acaf2259222c0"
checksum = "409268480841ad008e81c17ca5a293393fbf9f2b6c2f85b8ab9de1f0c5176a16"
dependencies = [
"gix-hash",
"hashbrown 0.14.0",
@ -1494,9 +1464,9 @@ dependencies = [
[[package]]
name = "gix-ignore"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b355098421f5cc91a0e5f1ef3600ae250c13b7c3c472b18c361897c6081bfbb1"
checksum = "04ff3ec0fd9fb5bb0ae36b252976b0bc94b45ba969b1639f7402425d9d6baf67"
dependencies = [
"bstr",
"gix-glob",
@ -1506,9 +1476,9 @@ dependencies = [
[[package]]
name = "gix-index"
version = "0.22.0"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a9738fc58ca30e232c7b1be8e8ab52b072979acb9bf3fa97662b5b23c0c6fbca"
checksum = "0e9599fc30b3d6aad231687a403f85dfa36ae37ccf1b68ee1f621ad5b7fc7a0d"
dependencies = [
"bitflags 2.4.0",
"bstr",
@ -1529,9 +1499,9 @@ dependencies = [
[[package]]
name = "gix-lock"
version = "8.0.0"
version = "9.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de4363023577b31906b476b34eefbf76931363ec574f88b5c7b6027789f1e3ce"
checksum = "1568c3d90594c60d52670f325f5db88c2d572e85c8dd45fabc23d91cadb0fd52"
dependencies = [
"gix-tempfile",
"gix-utils",
@ -1539,22 +1509,21 @@ dependencies = [
]
[[package]]
name = "gix-mailmap"
version = "0.17.0"
name = "gix-macros"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "244a4a6f08e8104110675de649ccd20fe1d1116783063920e19aa7da197a4ad0"
checksum = "9d8acb5ee668d55f0f2d19a320a3f9ef67a6999ad483e11135abcc2464ed18b6"
dependencies = [
"bstr",
"gix-actor",
"gix-date",
"thiserror",
"proc-macro2",
"quote",
"syn 2.0.31",
]
[[package]]
name = "gix-negotiate"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0b0ea711559f843b8286cdf71ea421560c072120fae35a949bcf6b068b73745"
checksum = "208b25af0e59d04e7313479fc949bd68e11a065b51718995139cefac498e24df"
dependencies = [
"bitflags 2.4.0",
"gix-commitgraph",
@ -1568,9 +1537,9 @@ dependencies = [
[[package]]
name = "gix-object"
version = "0.35.0"
version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4283b7b5e9438afe2e3183e9acd1c77e750800937bb56c06b750822d2ff6d95"
checksum = "3e5528d5b2c984044d547e696e44a8c45fa122e83cd8c2ac1da69bd474336be8"
dependencies = [
"bstr",
"btoi",
@ -1587,9 +1556,9 @@ dependencies = [
[[package]]
name = "gix-odb"
version = "0.51.0"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c1dd295ca055d8270de23b6037176b03782de753f75c84dabb7713f7d7e229fd"
checksum = "d0446eca295459deb3d6dd6ed7d44a631479f1b7381d8087166605c7a9f717c6"
dependencies = [
"arc-swap",
"gix-date",
@ -1606,20 +1575,18 @@ dependencies = [
[[package]]
name = "gix-pack"
version = "0.41.0"
version = "0.42.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e2e645c38138216b9de2f6279bfb1b8567de6f4539f8fa2761eea961d991f448"
checksum = "be19ee650300d7cbac5829b637685ec44a8d921a7c2eaff8a245d8f2f008870c"
dependencies = [
"clru",
"gix-chunk",
"gix-diff",
"gix-features",
"gix-hash",
"gix-hashtable",
"gix-object",
"gix-path",
"gix-tempfile",
"gix-traverse",
"memmap2",
"parking_lot",
"smallvec",
@ -1629,9 +1596,9 @@ dependencies = [
[[package]]
name = "gix-packetline"
version = "0.16.5"
version = "0.16.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2a374cb5eba089e3c123df4d996eb00da411bb90ec92cb35bffeeb2d22ee106a"
checksum = "d6df0b75361353e7c0a6d72d49617a37379a7a22cba4569ae33a7720a4c8755a"
dependencies = [
"bstr",
"faster-hex",
@ -1640,9 +1607,9 @@ dependencies = [
[[package]]
name = "gix-packetline-blocking"
version = "0.16.5"
version = "0.16.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e39142400d3faa7057680ed3947c3b70e46b6a0b16a7c242ec8f0249e37518ba"
checksum = "7d8395f7501c84d6a1fe902035fdfd8cd86d89e2dd6be0200ec1a72fd3c92d39"
dependencies = [
"bstr",
"faster-hex",
@ -1651,9 +1618,9 @@ dependencies = [
[[package]]
name = "gix-path"
version = "0.9.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "764b31ac54472e796f08be376eaeea3e30800949650566620809659d39969dbd"
checksum = "6a1d370115171e3ae03c5c6d4f7d096f2981a40ddccb98dfd704c773530ba73b"
dependencies = [
"bstr",
"gix-trace",
@ -1664,9 +1631,9 @@ dependencies = [
[[package]]
name = "gix-pathspec"
version = "0.1.0"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4ba6662a29a6332926494542f6144ee87a59df3c70a4c680ebd235b646d7866"
checksum = "90a7885b4ccdc8c80740e465747bf961a8110043fdc1fda3ee80bc81885f42df"
dependencies = [
"bitflags 2.4.0",
"bstr",
@ -1679,9 +1646,9 @@ dependencies = [
[[package]]
name = "gix-prompt"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "33ebf6f126413908bfbdc27bf69f6f8b94b674457546fab8ba613be22b917d33"
checksum = "5c9a913769516f5e9d937afac206fb76428e3d7238e538845842887fda584678"
dependencies = [
"gix-command",
"gix-config-value",
@ -1692,9 +1659,9 @@ dependencies = [
[[package]]
name = "gix-protocol"
version = "0.38.0"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9ea9a0acfb928bc0cccd6d9e4778ba367328098fe6553ab39d5763f128794bad"
checksum = "5d6ee7fc3f80140ea0651d483ecb9e680403be244849c16237fce45ac80163df"
dependencies = [
"bstr",
"btoi",
@ -1704,8 +1671,8 @@ dependencies = [
"gix-hash",
"gix-transport",
"maybe-async",
"nom",
"thiserror",
"winnow",
]
[[package]]
@ -1721,9 +1688,9 @@ dependencies = [
[[package]]
name = "gix-ref"
version = "0.35.0"
version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "993ce5c448a94038b8da1a8969c0facd6c1fbac509fa013344c580458f41527d"
checksum = "3cccbfa8d5cd9b86465f27a521e0c017de54b92d9fd37c143e49c658a2f04f3a"
dependencies = [
"gix-actor",
"gix-date",
@ -1742,9 +1709,9 @@ dependencies = [
[[package]]
name = "gix-refspec"
version = "0.16.0"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f3171923a0f9075feae790bb81d824c0c1f91a899df51508705d4957bacd006e"
checksum = "678ba30d95baa5462df9875628ed40655d5f5b8aba7028de86ed57f36e762c6c"
dependencies = [
"bstr",
"gix-hash",
@ -1756,9 +1723,9 @@ dependencies = [
[[package]]
name = "gix-revision"
version = "0.20.0"
version = "0.21.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2443886b7c55e73a813f203fe8603b94ac5deb3dfad8812d25e731b81f569f27"
checksum = "b3e80a5992ae446fe1745dd26523b86084e3f1b6b3e35377fe09b4f35ac8f151"
dependencies = [
"bstr",
"gix-date",
@ -1772,9 +1739,9 @@ dependencies = [
[[package]]
name = "gix-revwalk"
version = "0.6.0"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "362f71e173364f67d02899388c4b3d2f6bac7c16c0f3a9bbc04683f984f59daa"
checksum = "b806349bc1f668e09035800e07ac8045da4e39a8925a245d93142c4802224ec1"
dependencies = [
"gix-commitgraph",
"gix-date",
@ -1787,9 +1754,9 @@ dependencies = [
[[package]]
name = "gix-sec"
version = "0.9.0"
version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0debc2e70613a077c257c2bb45ab4f652a550ae1d00bdca356633ea9de88a230"
checksum = "92b9542ac025a8c02ed5d17b3fc031a111a384e859d0be3532ec4d58c40a0f28"
dependencies = [
"bitflags 2.4.0",
"gix-path",
@ -1799,9 +1766,9 @@ dependencies = [
[[package]]
name = "gix-submodule"
version = "0.2.0"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "71cc3ecd5e2387102aa275fc88fcf36e0f0b9df23a1335bf6255327abbb9bb3f"
checksum = "5ff6b99d735842a3a7fb162b660fa97acec39d576c0ca1700d9eff9344f8625d"
dependencies = [
"bstr",
"gix-config",
@ -1814,16 +1781,14 @@ dependencies = [
[[package]]
name = "gix-tempfile"
version = "8.0.0"
version = "9.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cea558d3daf3b1d0001052b12218c66c8f84788852791333b633d7eeb6999db1"
checksum = "2762b91ff95e27ff3ea95758c0d4efacd7435a1be3629622928b8276de0f72a8"
dependencies = [
"gix-fs",
"libc",
"once_cell",
"parking_lot",
"signal-hook",
"signal-hook-registry",
"tempfile",
]
@ -1835,9 +1800,9 @@ checksum = "96b6d623a1152c3facb79067d6e2ecdae48130030cf27d6eb21109f13bd7b836"
[[package]]
name = "gix-transport"
version = "0.35.0"
version = "0.36.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3521e96c5d7d65c1d6bd632820362ac30f66391108126a4a56adb0a5cfe85d77"
checksum = "9a8d976844844f8b42e70a2c2e60d68407f7055ff7e37553d1e7f2718acc3547"
dependencies = [
"base64 0.21.3",
"bstr",
@ -1854,9 +1819,9 @@ dependencies = [
[[package]]
name = "gix-traverse"
version = "0.31.0"
version = "0.32.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "beecf2e4d8924cbe0cace0bd396f9b037fdf7db9799d5695fe70dcad959ed067"
checksum = "3ec6358f8373fb018af8fc96c9d2ec6a5b66999e2377dc40b7801351fec409ed"
dependencies = [
"gix-commitgraph",
"gix-date",
@ -1870,9 +1835,9 @@ dependencies = [
[[package]]
name = "gix-url"
version = "0.22.0"
version = "0.23.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6059e15828df32027a7db9097e5a9baf320d2dcc10a4e1598ffe05be8dfd1fa6"
checksum = "1c79d595b99a6c7ab274f3c991735a0c0f5a816a3da460f513c48edf1c7bf2cc"
dependencies = [
"bstr",
"gix-features",
@ -1903,9 +1868,9 @@ dependencies = [
[[package]]
name = "gix-worktree"
version = "0.24.0"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a38eab0fdd752ecfa50130c127c9f42bd329bf7f4e52872f4ac24c12bbc02baf"
checksum = "addabd470ca4ce3ab893e32a5743971a530b8fc0eee5c23844849abf3c9ea6d6"
dependencies = [
"bstr",
"gix-attributes",
@ -1921,9 +1886,9 @@ dependencies = [
[[package]]
name = "gix-worktree-state"
version = "0.1.0"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "44629a04d238493f0da657a0eee4d60086f0172c364ca4a71398b1898fda32a6"
checksum = "02daf5a1d381280e3c5803a3745ee2abf09d2873118136aaadc0ed96ed438aeb"
dependencies = [
"bstr",
"gix-features",
@ -1939,24 +1904,6 @@ dependencies = [
"thiserror",
]
[[package]]
name = "gix-worktree-stream"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a9582aa0875d19d188501dc0d6beb38259a5842777b0755d1c208b38a10aa5a"
dependencies = [
"gix-attributes",
"gix-features",
"gix-filter",
"gix-fs",
"gix-hash",
"gix-object",
"gix-path",
"gix-traverse",
"parking_lot",
"thiserror",
]
[[package]]
name = "glob"
version = "0.3.1"
@ -2178,16 +2125,6 @@ dependencies = [
"unicode-normalization",
]
[[package]]
name = "imara-diff"
version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e98c1d0ad70fc91b8b9654b1f33db55e59579d3b3de2bffdced0fdb810570cb8"
dependencies = [
"ahash",
"hashbrown 0.12.3",
]
[[package]]
name = "indexmap"
version = "1.9.3"
@ -2536,12 +2473,6 @@ version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
[[package]]
name = "minimal-lexical"
version = "0.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
[[package]]
name = "miniz_oxide"
version = "0.7.1"
@ -2591,16 +2522,6 @@ dependencies = [
"libc",
]
[[package]]
name = "nom"
version = "7.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a"
dependencies = [
"memchr",
"minimal-lexical",
]
[[package]]
name = "normalize-path"
version = "0.2.1"
@ -2814,9 +2735,9 @@ dependencies = [
[[package]]
name = "prodash"
version = "25.0.2"
version = "26.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d67eb4220992a4a052a4bb03cf776e493ecb1a3a36bab551804153d63486af7"
checksum = "794b5bf8e2d19b53dcdcec3e4bba628e20f5b6062503ba89281fa7037dd7bbcf"
dependencies = [
"bytesize",
"human_format",
@ -3395,16 +3316,6 @@ dependencies = [
"lazy_static",
]
[[package]]
name = "signal-hook"
version = "0.3.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8621587d4798caf8eb44879d42e56b9a93ea5dcd315a6487c357130095b62801"
dependencies = [
"libc",
"signal-hook-registry",
]
[[package]]
name = "signal-hook-registry"
version = "1.4.1"

View file

@ -202,6 +202,7 @@ pub fn logging(log_level: LevelFilter, json_output: bool) {
"binstalk_registry",
"cargo_binstall",
"cargo_toml_workspace",
"simple_git",
]);
// Forward log to tracing

View file

@ -13,11 +13,20 @@ license = "Apache-2.0 OR MIT"
[dependencies]
compact_str = "0.7.0"
derive_destructure2 = "0.1"
gix = { version = "0.52.0", features = ["blocking-http-transport-reqwest"] }
thiserror = "1.0.40"
tokio = { version = "1.30.0", features = ["rt", "time"], default-features = false }
tracing = "0.1.37"
[dependencies.gix]
version = "0.53.1"
default-features = false
features = [
"comfort",
"blocking-http-transport-reqwest",
"max-performance-safe",
"worktree-mutation",
]
[features]
rustls = [
"gix/blocking-http-transport-reqwest-rust-tls",

View file

@ -8,7 +8,8 @@ use std::{
use compact_str::{format_compact, CompactString};
use gix::progress::{
prodash::messages::MessageLevel, Id, Progress, Step, StepShared, Unit, UNKNOWN,
prodash::messages::MessageLevel, Count, Id, NestedProgress, Progress, Step, StepShared, Unit,
UNKNOWN,
};
use tokio::time;
use tracing::{error, info};
@ -18,7 +19,7 @@ pub(super) struct TracingProgress {
id: Id,
max: Option<usize>,
unit: Option<Unit>,
step: usize,
step: StepShared,
trigger: Arc<AtomicBool>,
}
@ -46,38 +47,13 @@ impl TracingProgress {
name: CompactString::new(name),
id: UNKNOWN,
max: None,
step: 0,
step: Default::default(),
unit: None,
trigger,
}
}
}
impl Progress for TracingProgress {
type SubProgress = TracingProgress;
fn add_child(&mut self, name: impl Into<String>) -> Self::SubProgress {
self.add_child_with_id(name, UNKNOWN)
}
fn add_child_with_id(&mut self, name: impl Into<String>, id: Id) -> Self::SubProgress {
Self {
name: format_compact!("{}{}{}", self.name, SEP, Into::<String>::into(name)),
id,
step: 0,
max: None,
unit: None,
trigger: Arc::clone(&self.trigger),
}
}
fn init(&mut self, max: Option<usize>, unit: Option<Unit>) {
self.max = max;
self.unit = unit;
}
fn set(&mut self, step: usize) {
self.step = step;
fn log_progress(&self, step: Step) {
if self.trigger.swap(false, Ordering::Relaxed) {
match (self.max, &self.unit) {
(max, Some(unit)) => {
@ -88,6 +64,36 @@ impl Progress for TracingProgress {
}
}
}
}
impl Count for TracingProgress {
fn set(&self, step: Step) {
self.step.store(step, Ordering::Relaxed);
self.log_progress(step);
}
fn step(&self) -> Step {
self.step.load(Ordering::Relaxed)
}
fn inc_by(&self, step_to_inc: Step) {
self.log_progress(
self.step
.fetch_add(step_to_inc, Ordering::Relaxed)
.wrapping_add(step_to_inc),
);
}
fn counter(&self) -> StepShared {
Arc::clone(&self.step)
}
}
impl Progress for TracingProgress {
fn init(&mut self, max: Option<Step>, unit: Option<Unit>) {
self.max = max;
self.unit = unit;
}
fn unit(&self) -> Option<Unit> {
self.unit.clone()
@ -103,21 +109,12 @@ impl Progress for TracingProgress {
prev
}
fn step(&self) -> usize {
self.step
}
fn inc_by(&mut self, step: usize) {
self.set(self.step + step)
}
fn set_name(&mut self, name: impl Into<String>) {
let name = name.into();
fn set_name(&mut self, name: String) {
self.name = self
.name
.split("::")
.next()
.map(|parent| format_compact!("{}{}{}", parent.to_owned(), SEP, name))
.map(|parent| format_compact!("{parent}{SEP}{name}"))
.unwrap_or_else(|| name.into());
}
@ -129,16 +126,31 @@ impl Progress for TracingProgress {
self.id
}
fn message(&self, level: MessageLevel, message: impl Into<String>) {
let message: String = message.into();
fn message(&self, level: MessageLevel, message: String) {
let name = &self.name;
match level {
MessageLevel::Info => info!("{} → {}", self.name, message),
MessageLevel::Failure => error!("𐄂{} → {}", self.name, message),
MessageLevel::Success => info!("✓{} → {}", self.name, message),
MessageLevel::Info => info!("{name} → {message}"),
MessageLevel::Failure => error!("𐄂{name} → {message}"),
MessageLevel::Success => info!("✓{name} → {message}"),
}
}
}
fn counter(&self) -> Option<StepShared> {
None
impl NestedProgress for TracingProgress {
type SubProgress = TracingProgress;
fn add_child(&mut self, name: impl Into<String>) -> Self::SubProgress {
self.add_child_with_id(name, UNKNOWN)
}
fn add_child_with_id(&mut self, name: impl Into<String>, id: Id) -> Self::SubProgress {
Self {
name: format_compact!("{}{}{}", self.name, SEP, Into::<String>::into(name)),
id,
step: Arc::default(),
max: None,
unit: None,
trigger: Arc::clone(&self.trigger),
}
}
}