diff --git a/Cargo.lock b/Cargo.lock index a2742ebd0..3ab6c3548 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1774,9 +1774,9 @@ dependencies = [ [[package]] name = "git2" -version = "0.16.1" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccf7f68c2995f392c49fffb4f95ae2c873297830eb25c6bc4c114ce8f4562acc" +checksum = "89511277159354bea13ae1e53e0c9ab85ba1b20d7e91618fa30e6bc5566857fb" dependencies = [ "bitflags 1.3.2", "libc", @@ -1999,9 +1999,9 @@ checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "936cfd212a0155903bcbc060e316fb6cc7cbf2e1907329391ebadc1fe0ce77c2" dependencies = [ "libc", ] @@ -2061,15 +2061,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.139" +version = "0.2.141" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "3304a64d199bb964be99741b7a14d26972741915b3649639149b2479bb46f4b5" [[package]] name = "libgit2-sys" -version = "0.14.2+1.5.1" +version = "0.15.0+1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4" +checksum = "032e537ae4dd4e50c877f258dc55fcd0657b5021f454094a425bb6bcc9edea4c" dependencies = [ "cc", "libc", @@ -3471,9 +3471,9 @@ dependencies = [ [[package]] name = "tinyvec_macros" -version = "0.1.0" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" +checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tracing" @@ -3592,7 +3592,7 @@ version = "1.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ - "cfg-if 1.0.0", + "cfg-if 0.1.10", "rand 0.8.5", "static_assertions", ] @@ -3605,9 +3605,9 @@ checksum = "eaea85b334db583fe3274d12b4cd1880032beab409c0d774be044d4480ab9a94" [[package]] name = "unicode-bidi" -version = "0.3.8" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" +checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" [[package]] name = "unicode-ident" diff --git a/git-branchless-invoke/Cargo.toml b/git-branchless-invoke/Cargo.toml index 8b525ca21..ec5c4c871 100644 --- a/git-branchless-invoke/Cargo.toml +++ b/git-branchless-invoke/Cargo.toml @@ -14,7 +14,7 @@ color-eyre = "0.6.2" cursive_core = "0.3.6" eyre = "0.6.8" git-branchless-opts = { version = "0.7.0", path = "../git-branchless-opts" } -git2 = { version = "0.16.1", default-features = false } +git2 = { version = "0.17.0", default-features = false } lib = { package = "git-branchless-lib", version = "0.7.0", path = "../git-branchless-lib" } tracing = "0.1.37" tracing-chrome = "0.6.0" diff --git a/git-branchless-lib/Cargo.toml b/git-branchless-lib/Cargo.toml index 655dbbf60..84992f8e2 100644 --- a/git-branchless-lib/Cargo.toml +++ b/git-branchless-lib/Cargo.toml @@ -56,7 +56,7 @@ eden_dag = { package = "esl01-dag", version = "0.3.0" } eyre = "0.6.8" futures = "0.3.28" git-record = { version = "0.3", path = "../git-record" } -git2 = { version = "0.16.1", default-features = false } +git2 = { version = "0.17.0", default-features = false } indicatif = { version = "0.17.3", features = ["improved_unicode"] } itertools = "0.10.3" lazy_static = "1.4.0" diff --git a/git-branchless-lib/src/git/status.rs b/git-branchless-lib/src/git/status.rs index 811274676..c8700f54d 100644 --- a/git-branchless-lib/src/git/status.rs +++ b/git-branchless-lib/src/git/status.rs @@ -68,6 +68,7 @@ pub enum FileMode { Tree, Blob, BlobExecutable, + BlobGroupWritable, Link, Commit, } @@ -77,6 +78,7 @@ impl From for FileMode { match file_mode { git2::FileMode::Blob => FileMode::Blob, git2::FileMode::BlobExecutable => FileMode::BlobExecutable, + git2::FileMode::BlobGroupWritable => FileMode::BlobGroupWritable, git2::FileMode::Commit => FileMode::Commit, git2::FileMode::Link => FileMode::Link, git2::FileMode::Tree => FileMode::Tree, @@ -108,6 +110,7 @@ impl From for i32 { match file_mode { FileMode::Blob => git2::FileMode::Blob.into(), FileMode::BlobExecutable => git2::FileMode::BlobExecutable.into(), + FileMode::BlobGroupWritable => git2::FileMode::BlobGroupWritable.into(), FileMode::Commit => git2::FileMode::Commit.into(), FileMode::Link => git2::FileMode::Link.into(), FileMode::Tree => git2::FileMode::Tree.into(), @@ -134,6 +137,7 @@ impl FromStr for FileMode { "040000" => FileMode::Tree, "100644" => FileMode::Blob, "100755" => FileMode::BlobExecutable, + "100664" => FileMode::BlobGroupWritable, "120000" => FileMode::Link, "160000" => FileMode::Commit, _ => eyre::bail!("unknown file mode: {}", file_mode), @@ -149,6 +153,7 @@ impl ToString for FileMode { FileMode::Tree => "040000".to_string(), FileMode::Blob => "100644".to_string(), FileMode::BlobExecutable => "100755".to_string(), + FileMode::BlobGroupWritable => "100664".to_string(), FileMode::Link => "120000".to_string(), FileMode::Commit => "160000".to_string(), }