diff --git a/Cargo.lock b/Cargo.lock index a4fcd61..07fa7d7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -445,6 +445,19 @@ version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f3b7eb4404b8195a9abb6356f4ac07d8ba267045c8d6d220ac4dc992e6cc75df" +[[package]] +name = "dashmap" +version = "5.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" +dependencies = [ + "cfg-if", + "hashbrown 0.14.2", + "lock_api", + "once_cell", + "parking_lot_core", +] + [[package]] name = "der" version = "0.6.1" @@ -572,9 +585,9 @@ dependencies = [ [[package]] name = "faster-hex" -version = "0.8.1" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239f7bfb930f820ab16a9cd95afc26f88264cf6905c960b340a615384aa3338a" +checksum = "a2a2b11eda1d40935b26cf18f6833c526845ae8c41e58d09af6adeb6f0269183" dependencies = [ "serde", ] @@ -725,23 +738,24 @@ checksum = "6fb8d784f27acf97159b40fc4db5ecd8aa23b9ad5ef69cdd136d3bc80665f0c0" [[package]] name = "gix" -version = "0.55.2" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.56.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "gix-actor", "gix-archive", "gix-attributes", + "gix-command", "gix-commitgraph", "gix-config", "gix-credentials", "gix-date", "gix-diff", "gix-discover", - "gix-features", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-filter", - "gix-fs", + "gix-fs 0.8.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-glob", - "gix-hash", + "gix-hash 0.13.2", "gix-hashtable", "gix-ignore", "gix-index", @@ -763,8 +777,8 @@ dependencies = [ "gix-sec", "gix-status", "gix-submodule", - "gix-tempfile", - "gix-trace", + "gix-tempfile 11.0.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-transport", "gix-traverse", "gix-url", @@ -786,8 +800,8 @@ dependencies = [ [[package]] name = "gix-actor" -version = "0.28.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.28.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "btoi", @@ -800,8 +814,8 @@ dependencies = [ [[package]] name = "gix-archive" -version = "0.6.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.7.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-date", @@ -812,14 +826,14 @@ dependencies = [ [[package]] name = "gix-attributes" -version = "0.20.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.20.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-glob", "gix-path", "gix-quote", - "gix-trace", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "kstring", "serde", "smallvec", @@ -829,40 +843,40 @@ dependencies = [ [[package]] name = "gix-bitmap" -version = "0.2.7" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.2.8" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "thiserror", ] [[package]] name = "gix-chunk" -version = "0.4.4" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.4.5" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "thiserror", ] [[package]] name = "gix-command" -version = "0.2.10" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.3.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-path", - "gix-trace", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "shell-words", ] [[package]] name = "gix-commitgraph" -version = "0.22.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.22.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-chunk", - "gix-features", - "gix-hash", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-hash 0.13.2", "memmap2", "serde", "thiserror", @@ -870,12 +884,12 @@ dependencies = [ [[package]] name = "gix-config" -version = "0.31.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.32.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-config-value", - "gix-features", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-glob", "gix-path", "gix-ref", @@ -890,8 +904,8 @@ dependencies = [ [[package]] name = "gix-config-value" -version = "0.14.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.14.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bitflags 2.4.1", "bstr", @@ -902,8 +916,8 @@ dependencies = [ [[package]] name = "gix-credentials" -version = "0.21.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.22.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-command", @@ -911,7 +925,7 @@ dependencies = [ "gix-path", "gix-prompt", "gix-sec", - "gix-trace", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-url", "serde", "thiserror", @@ -919,8 +933,8 @@ dependencies = [ [[package]] name = "gix-date" -version = "0.8.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.8.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "itoa", @@ -931,24 +945,31 @@ dependencies = [ [[package]] name = "gix-diff" -version = "0.37.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.38.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", - "gix-hash", + "gix-command", + "gix-filter", + "gix-fs 0.8.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-hash 0.13.2", "gix-object", + "gix-path", + "gix-tempfile 11.0.1 (registry+https://github.com/rust-lang/crates.io-index)", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-worktree", "imara-diff", "thiserror", ] [[package]] name = "gix-discover" -version = "0.26.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.27.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "dunce", - "gix-hash", + "gix-hash 0.13.2", "gix-path", "gix-ref", "gix-sec", @@ -957,16 +978,27 @@ dependencies = [ [[package]] name = "gix-features" -version = "0.36.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.36.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d46a4a5c6bb5bebec9c0d18b65ada20e6517dbd7cf855b87dd4bbdce3a771b2" +dependencies = [ + "gix-hash 0.13.3", + "gix-trace 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", +] + +[[package]] +name = "gix-features" +version = "0.36.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bytes", "bytesize", "crc32fast", "crossbeam-channel", "flate2", - "gix-hash", - "gix-trace", + "gix-hash 0.13.2", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "jwalk", "libc", "once_cell", @@ -979,67 +1011,87 @@ dependencies = [ [[package]] name = "gix-filter" -version = "0.6.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.7.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "encoding_rs", "gix-attributes", "gix-command", - "gix-hash", + "gix-hash 0.13.2", "gix-object", "gix-packetline-blocking", "gix-path", "gix-quote", - "gix-trace", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-utils", "smallvec", "thiserror", ] [[package]] name = "gix-fs" -version = "0.8.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20e86eb040f5776a5ade092282e51cdcad398adb77d948b88d17583c2ae4e107" dependencies = [ - "gix-features", + "gix-features 0.36.1 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "gix-fs" +version = "0.8.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" +dependencies = [ + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", ] [[package]] name = "gix-glob" -version = "0.14.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.14.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bitflags 2.4.1", "bstr", - "gix-features", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-path", "serde", ] [[package]] name = "gix-hash" -version = "0.13.1" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.13.2" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "faster-hex", "serde", "thiserror", ] +[[package]] +name = "gix-hash" +version = "0.13.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f8cf8c2266f63e582b7eb206799b63aa5fa68ee510ad349f637dfe2d0653de0" +dependencies = [ + "faster-hex", + "thiserror", +] + [[package]] name = "gix-hashtable" -version = "0.4.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.4.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ - "gix-hash", + "gix-hash 0.13.2", "hashbrown 0.14.2", "parking_lot", ] [[package]] name = "gix-ignore" -version = "0.9.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.9.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-glob", @@ -1050,17 +1102,17 @@ dependencies = [ [[package]] name = "gix-index" -version = "0.26.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.27.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bitflags 2.4.1", "bstr", "btoi", "filetime", "gix-bitmap", - "gix-features", - "gix-fs", - "gix-hash", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-fs 0.8.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-hash 0.13.2", "gix-lock", "gix-object", "gix-traverse", @@ -1075,18 +1127,18 @@ dependencies = [ [[package]] name = "gix-lock" -version = "11.0.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "11.0.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ - "gix-tempfile", + "gix-tempfile 11.0.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-utils", "thiserror", ] [[package]] name = "gix-macros" -version = "0.1.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.1.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "proc-macro2", "quote", @@ -1095,8 +1147,8 @@ dependencies = [ [[package]] name = "gix-mailmap" -version = "0.20.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.20.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-actor", @@ -1107,13 +1159,13 @@ dependencies = [ [[package]] name = "gix-negotiate" -version = "0.9.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.10.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bitflags 2.4.1", "gix-commitgraph", "gix-date", - "gix-hash", + "gix-hash 0.13.2", "gix-object", "gix-revwalk", "smallvec", @@ -1122,15 +1174,15 @@ dependencies = [ [[package]] name = "gix-object" -version = "0.38.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.39.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "btoi", "gix-actor", "gix-date", - "gix-features", - "gix-hash", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-hash 0.13.2", "gix-validate", "itoa", "serde", @@ -1141,13 +1193,13 @@ dependencies = [ [[package]] name = "gix-odb" -version = "0.54.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.55.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "arc-swap", "gix-date", - "gix-features", - "gix-hash", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-hash 0.13.2", "gix-object", "gix-pack", "gix-path", @@ -1160,17 +1212,17 @@ dependencies = [ [[package]] name = "gix-pack" -version = "0.44.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.45.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "clru", "gix-chunk", - "gix-features", - "gix-hash", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-hash 0.13.2", "gix-hashtable", "gix-object", "gix-path", - "gix-tempfile", + "gix-tempfile 11.0.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "memmap2", "parking_lot", "serde", @@ -1181,33 +1233,33 @@ dependencies = [ [[package]] name = "gix-packetline" -version = "0.16.7" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.17.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "faster-hex", - "gix-trace", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "thiserror", ] [[package]] name = "gix-packetline-blocking" -version = "0.16.6" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.17.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "faster-hex", - "gix-trace", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "thiserror", ] [[package]] name = "gix-path" -version = "0.10.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.10.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", - "gix-trace", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "home", "once_cell", "thiserror", @@ -1215,8 +1267,8 @@ dependencies = [ [[package]] name = "gix-pathspec" -version = "0.4.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.4.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bitflags 2.4.1", "bstr", @@ -1229,8 +1281,8 @@ dependencies = [ [[package]] name = "gix-prompt" -version = "0.7.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.8.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "gix-command", "gix-config-value", @@ -1241,15 +1293,15 @@ dependencies = [ [[package]] name = "gix-protocol" -version = "0.41.1" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.42.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "btoi", "gix-credentials", "gix-date", - "gix-features", - "gix-hash", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-hash 0.13.2", "gix-transport", "maybe-async", "serde", @@ -1259,8 +1311,8 @@ dependencies = [ [[package]] name = "gix-quote" -version = "0.4.7" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.4.8" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "btoi", @@ -1269,18 +1321,18 @@ dependencies = [ [[package]] name = "gix-ref" -version = "0.38.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.39.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "gix-actor", "gix-date", - "gix-features", - "gix-fs", - "gix-hash", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-fs 0.8.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-hash 0.13.2", "gix-lock", "gix-object", "gix-path", - "gix-tempfile", + "gix-tempfile 11.0.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-validate", "memmap2", "serde", @@ -1290,11 +1342,11 @@ dependencies = [ [[package]] name = "gix-refspec" -version = "0.19.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.20.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", - "gix-hash", + "gix-hash 0.13.2", "gix-revision", "gix-validate", "smallvec", @@ -1303,28 +1355,28 @@ dependencies = [ [[package]] name = "gix-revision" -version = "0.23.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.24.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-date", - "gix-hash", + "gix-hash 0.13.2", "gix-hashtable", "gix-object", "gix-revwalk", - "gix-trace", + "gix-trace 0.1.4 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "serde", "thiserror", ] [[package]] name = "gix-revwalk" -version = "0.9.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.10.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "gix-commitgraph", "gix-date", - "gix-hash", + "gix-hash 0.13.2", "gix-hashtable", "gix-object", "smallvec", @@ -1333,8 +1385,8 @@ dependencies = [ [[package]] name = "gix-sec" -version = "0.10.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.10.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bitflags 2.4.1", "gix-path", @@ -1345,15 +1397,15 @@ dependencies = [ [[package]] name = "gix-status" -version = "0.2.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.3.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "filetime", - "gix-features", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-filter", - "gix-fs", - "gix-hash", + "gix-fs 0.8.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-hash 0.13.2", "gix-index", "gix-object", "gix-path", @@ -1363,8 +1415,8 @@ dependencies = [ [[package]] name = "gix-submodule" -version = "0.5.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.6.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-config", @@ -1377,10 +1429,24 @@ dependencies = [ [[package]] name = "gix-tempfile" -version = "11.0.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "11.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "388dd29114a86ec69b28d1e26d6d63a662300ecf61ab3f4cc578f7d7dc9e7e23" +dependencies = [ + "dashmap", + "gix-fs 0.8.1 (registry+https://github.com/rust-lang/crates.io-index)", + "libc", + "once_cell", + "parking_lot", + "tempfile", +] + +[[package]] +name = "gix-tempfile" +version = "11.0.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ - "gix-fs", + "gix-fs 0.8.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "libc", "once_cell", "parking_lot", @@ -1391,19 +1457,25 @@ dependencies = [ [[package]] name = "gix-trace" -version = "0.1.3" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b686a35799b53a9825575ca3f06481d0a053a409c4d97ffcf5ddd67a8760b497" + +[[package]] +name = "gix-trace" +version = "0.1.4" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" [[package]] name = "gix-transport" -version = "0.38.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.39.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "base64", "bstr", "gix-command", "gix-credentials", - "gix-features", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-packetline", "gix-quote", "gix-sec", @@ -1415,12 +1487,12 @@ dependencies = [ [[package]] name = "gix-traverse" -version = "0.34.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.35.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "gix-commitgraph", "gix-date", - "gix-hash", + "gix-hash 0.13.2", "gix-hashtable", "gix-object", "gix-revwalk", @@ -1430,11 +1502,11 @@ dependencies = [ [[package]] name = "gix-url" -version = "0.25.1" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.25.2" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", - "gix-features", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-path", "home", "serde", @@ -1444,16 +1516,16 @@ dependencies = [ [[package]] name = "gix-utils" -version = "0.1.5" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.1.6" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "fastrand", ] [[package]] name = "gix-validate" -version = "0.8.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.8.1" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "thiserror", @@ -1461,15 +1533,15 @@ dependencies = [ [[package]] name = "gix-worktree" -version = "0.27.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.28.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", "gix-attributes", - "gix-features", - "gix-fs", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-fs 0.8.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-glob", - "gix-hash", + "gix-hash 0.13.2", "gix-ignore", "gix-index", "gix-object", @@ -1479,15 +1551,15 @@ dependencies = [ [[package]] name = "gix-worktree-state" -version = "0.4.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.5.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "bstr", - "gix-features", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-filter", - "gix-fs", + "gix-fs 0.8.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-glob", - "gix-hash", + "gix-hash 0.13.2", "gix-index", "gix-object", "gix-path", @@ -1498,14 +1570,14 @@ dependencies = [ [[package]] name = "gix-worktree-stream" -version = "0.6.0" -source = "git+https://github.com/Byron/gitoxide?rev=2b80d842#2b80d8424196088d4ccc36914c87e320e4416ea1" +version = "0.7.0" +source = "git+https://github.com/Byron/gitoxide?rev=281fda06#281fda06a89b1d38cf6afeda23cf80a68486140b" dependencies = [ "gix-attributes", - "gix-features", + "gix-features 0.36.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", "gix-filter", - "gix-fs", - "gix-hash", + "gix-fs 0.8.1 (git+https://github.com/Byron/gitoxide?rev=281fda06)", + "gix-hash 0.13.2", "gix-object", "gix-path", "gix-traverse", @@ -1901,9 +1973,9 @@ checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memmap2" -version = "0.7.1" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f49388d20533534cd19360ad3d6a7dadc885944aa802ba3995040c5ec11288c6" +checksum = "45fd3a57831bf88bc63f8cebc0cf956116276e97fef3966103e96416209f7c92" dependencies = [ "libc", ] @@ -2240,9 +2312,9 @@ dependencies = [ [[package]] name = "prodash" -version = "26.2.2" +version = "27.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "794b5bf8e2d19b53dcdcec3e4bba628e20f5b6062503ba89281fa7037dd7bbcf" +checksum = "7309f1ec8d18f40e3b874087c413ba69566bb7212e6d4cfdd25758e51cb0068d" dependencies = [ "bytesize", "human_format", @@ -3190,9 +3262,9 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "winnow" -version = "0.5.19" +version = "0.5.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "829846f3e3db426d4cee4510841b71a8e58aa2a76b1132579487ae430ccd9c7b" +checksum = "9b5c3db89721d50d0e2a673f5043fc4722f76dcc352d7b1ab8b8288bed4ed2c5" dependencies = [ "memchr", ] diff --git a/Cargo.toml b/Cargo.toml index 8d63c61..24fbbe1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ edition = "2021" [dependencies] clap = { version = "4.1.4", features = ["derive"] } -gix = { git = "https://github.com/Byron/gitoxide", rev = "2b80d842", features = ["default", "blocking-network-client", "blocking-http-transport-reqwest-native-tls", "serde"] } +gix = { git = "https://github.com/Byron/gitoxide", rev = "281fda06", features = ["default", "blocking-network-client", "blocking-http-transport-reqwest-native-tls", "serde"] } humantime = "2.1.0" jwt-simple = "0.11.7" reqwest = { version = "0.11.20", default-features = false, features = ["blocking", "default-tls", "serde_json", "gzip", "deflate", "json"] } diff --git a/README.md b/README.md index 877664d..951f25b 100644 --- a/README.md +++ b/README.md @@ -19,6 +19,7 @@ The plan forward, roughly in falling priority: - [x] changed task config should override state loaded from disk - [x] docker packaging - [ ] readme with design and deployment options +- [ ] branch patterns allows a task to react to changes on many branches - [ ] intelligent gitconfig handling - [ ] allow git commands in workdir (but note that this means two tasks can no longer point to the same repo without additional changeas) - [ ] useful logging (log level, json) diff --git a/src/git.rs b/src/git.rs index 3d6bd3a..f7fa6ac 100644 --- a/src/git.rs +++ b/src/git.rs @@ -8,7 +8,10 @@ use std::{ use gix::{ bstr::{BString, ByteSlice}, - config::tree::User, + config::tree::{ + gitoxide::{self, Credentials}, + Key, User, + }, objs::Data, odb::{store::Handle, Cache, Store}, oid, @@ -96,6 +99,9 @@ fn clone_repo( let maybe_repo = config.url.auth_url().and_then(|url| { gix::prepare_clone(url, target) .unwrap() + .with_in_memory_config_overrides(vec![gitoxide::Credentials::TERMINAL_PROMPT + .validated_assignment_fmt(&false) + .unwrap()]) .fetch_only(Discard, &watchdog) .map(|(r, _)| r) .map_err(GitOpsError::InitRepo) @@ -241,6 +247,9 @@ where let mut gitconfig = repo.config_snapshot_mut(); gitconfig.set_value(&User::NAME, "kitops").unwrap(); gitconfig.set_value(&User::EMAIL, "none").unwrap(); + gitconfig + .set_value(&Credentials::TERMINAL_PROMPT, "false") + .unwrap(); gitconfig.commit().unwrap(); fetch_repo(&repo, config, deadline)?; repo