101 lines
4.2 KiB
Diff

Patch-Source: https://github.com/arxanas/git-branchless/commit/f25babf6dbc4979003acf24c7ebf78e89a01f157
--
diff --git a/Cargo.lock b/Cargo.lock
index 5e39558..c807d73 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1665,9 +1665,9 @@ dependencies = [
[[package]]
name = "git2"
-version = "0.16.1"
+version = "0.17.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ccf7f68c2995f392c49fffb4f95ae2c873297830eb25c6bc4c114ce8f4562acc"
+checksum = "7b989d6a7ca95a362cf2cfc5ad688b3a467be1f87e480b8dad07fee8c79b0044"
dependencies = [
"bitflags",
"libc",
@@ -1949,9 +1949,9 @@ checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
[[package]]
name = "libgit2-sys"
-version = "0.14.2+1.5.1"
+version = "0.15.2+1.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "7f3d95f6b51075fe9810a7ae22c7095f12b98005ab364d8544797a825ce946a4"
+checksum = "a80df2e11fb4a61f4ba2ab42dbe7f74468da143f1a75c74e11dee7c813f694fa"
dependencies = [
"cc",
"libc",
diff --git a/git-branchless-invoke/Cargo.toml b/git-branchless-invoke/Cargo.toml
index bb2dcbd..4580fc5 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.1", path = "../git-branchless-opts" }
-git2 = { version = "0.16.1", default-features = false }
+git2 = { version = "0.17", default-features = false }
lib = { package = "git-branchless-lib", version = "0.7.1", 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 c5cb187..f56b1a7 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.27"
git-record = { version = "0.3", path = "../git-record" }
-git2 = { version = "0.16.1", default-features = false }
+git2 = { version = "0.17", 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 8112746..c8700f5 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<git2::FileMode> 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<FileMode> 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(),
}