diff --git a/Cargo.lock b/Cargo.lock index 15c4c1b5..c93f0198 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -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" diff --git a/crates/bin/src/logging.rs b/crates/bin/src/logging.rs index 3033266b..267fb8d6 100644 --- a/crates/bin/src/logging.rs +++ b/crates/bin/src/logging.rs @@ -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 diff --git a/crates/simple-git/Cargo.toml b/crates/simple-git/Cargo.toml index 49369c33..cc40005e 100644 --- a/crates/simple-git/Cargo.toml +++ b/crates/simple-git/Cargo.toml @@ -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", diff --git a/crates/simple-git/src/progress_tracing.rs b/crates/simple-git/src/progress_tracing.rs index b88af701..5ffc9dfe 100644 --- a/crates/simple-git/src/progress_tracing.rs +++ b/crates/simple-git/src/progress_tracing.rs @@ -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, unit: Option, - step: usize, + step: StepShared, trigger: Arc, } @@ -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) -> Self::SubProgress { - self.add_child_with_id(name, UNKNOWN) - } - - fn add_child_with_id(&mut self, name: impl Into, id: Id) -> Self::SubProgress { - Self { - name: format_compact!("{}{}{}", self.name, SEP, Into::::into(name)), - id, - step: 0, - max: None, - unit: None, - trigger: Arc::clone(&self.trigger), - } - } - - fn init(&mut self, max: Option, unit: Option) { - 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, unit: Option) { + self.max = max; + self.unit = unit; + } fn unit(&self) -> Option { 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) { - 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) { - 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 { - None +impl NestedProgress for TracingProgress { + type SubProgress = TracingProgress; + + fn add_child(&mut self, name: impl Into) -> Self::SubProgress { + self.add_child_with_id(name, UNKNOWN) + } + + fn add_child_with_id(&mut self, name: impl Into, id: Id) -> Self::SubProgress { + Self { + name: format_compact!("{}{}{}", self.name, SEP, Into::::into(name)), + id, + step: Arc::default(), + max: None, + unit: None, + trigger: Arc::clone(&self.trigger), + } } }