mirror of
https://github.com/gitbutlerapp/gitbutler.git
synced 2024-12-25 18:49:11 +03:00
Use gix
for branch listing
This commit is contained in:
parent
e42fcd4643
commit
17850bd210
452
Cargo.lock
generated
452
Cargo.lock
generated
@ -927,15 +927,6 @@ version = "0.6.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "cbd0f76e066e64fdc5631e3bb46381254deab9ef1158292f27c8c57e3bf3fe59"
|
||||
|
||||
[[package]]
|
||||
name = "cmake"
|
||||
version = "0.1.50"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a31c789563b815f77f4250caee12365734369f942439b7defd71e18a48197130"
|
||||
dependencies = [
|
||||
"cc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cocoa"
|
||||
version = "0.24.1"
|
||||
@ -1157,19 +1148,6 @@ dependencies = [
|
||||
"itertools 0.10.5",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam"
|
||||
version = "0.8.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "1137cd7e7fc0fb5d3c5a8678be38ec56e819125d8d7907411fe24ccb943faca8"
|
||||
dependencies = [
|
||||
"crossbeam-channel",
|
||||
"crossbeam-deque",
|
||||
"crossbeam-epoch",
|
||||
"crossbeam-queue",
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-channel"
|
||||
version = "0.5.13"
|
||||
@ -1198,15 +1176,6 @@ dependencies = [
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-queue"
|
||||
version = "0.3.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "df0346b5d5e76ac2fe4e327c5fd1118d6be7c51dfb18f9b7922923f287471e35"
|
||||
dependencies = [
|
||||
"crossbeam-utils",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "crossbeam-utils"
|
||||
version = "0.8.20"
|
||||
@ -1674,7 +1643,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae"
|
||||
dependencies = [
|
||||
"crc32fast",
|
||||
"libz-ng-sys",
|
||||
"miniz_oxide",
|
||||
]
|
||||
|
||||
@ -2582,48 +2550,48 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix"
|
||||
version = "0.64.0"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"gix-actor 0.31.5 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-attributes 0.22.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-actor 0.31.5 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-attributes 0.22.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-command",
|
||||
"gix-commitgraph 0.24.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-commitgraph 0.24.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-config",
|
||||
"gix-credentials",
|
||||
"gix-date 0.9.0",
|
||||
"gix-diff",
|
||||
"gix-dir",
|
||||
"gix-discover 0.33.0",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-filter",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hashtable 0.5.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-ignore 0.11.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-index 0.33.1 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-lock 14.0.0 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hashtable 0.5.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-ignore 0.11.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-index 0.33.1 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-lock 14.0.0 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-macros",
|
||||
"gix-negotiate",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-odb",
|
||||
"gix-pack",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-pathspec",
|
||||
"gix-prompt",
|
||||
"gix-ref 0.45.0",
|
||||
"gix-refspec",
|
||||
"gix-revision",
|
||||
"gix-revwalk 0.13.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-sec 0.10.7 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-revwalk 0.13.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-sec 0.10.7 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-submodule",
|
||||
"gix-tempfile 14.0.1 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-traverse 0.39.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-tempfile 14.0.1 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-traverse 0.39.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-url",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-worktree 0.34.1 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-worktree 0.34.1 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"once_cell",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
@ -2646,11 +2614,11 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-actor"
|
||||
version = "0.31.5"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-date 0.9.0",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"itoa 1.0.11",
|
||||
"thiserror",
|
||||
"winnow 0.6.16",
|
||||
@ -2676,13 +2644,13 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-attributes"
|
||||
version = "0.22.3"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-quote 0.4.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-quote 0.4.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"kstring",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
@ -2701,7 +2669,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-bitmap"
|
||||
version = "0.2.11"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"thiserror",
|
||||
]
|
||||
@ -2718,7 +2686,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-chunk"
|
||||
version = "0.4.8"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"thiserror",
|
||||
]
|
||||
@ -2726,11 +2694,11 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-command"
|
||||
version = "0.3.8"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"shell-words",
|
||||
]
|
||||
|
||||
@ -2751,12 +2719,12 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-commitgraph"
|
||||
version = "0.24.3"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-chunk 0.4.8 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-chunk 0.4.8 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"memmap2",
|
||||
"thiserror",
|
||||
]
|
||||
@ -2764,15 +2732,15 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-config"
|
||||
version = "0.38.0"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-config-value",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-ref 0.45.0",
|
||||
"gix-sec 0.10.7 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-sec 0.10.7 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"memchr",
|
||||
"once_cell",
|
||||
"smallvec",
|
||||
@ -2784,11 +2752,11 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-config-value"
|
||||
version = "0.14.7"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"bstr",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"libc",
|
||||
"thiserror",
|
||||
]
|
||||
@ -2796,15 +2764,15 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-credentials"
|
||||
version = "0.24.4"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-command",
|
||||
"gix-config-value",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-prompt",
|
||||
"gix-sec 0.10.7 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-sec 0.10.7 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-url",
|
||||
"thiserror",
|
||||
]
|
||||
@ -2824,7 +2792,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-date"
|
||||
version = "0.9.0"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"itoa 1.0.11",
|
||||
@ -2835,30 +2803,30 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-diff"
|
||||
version = "0.44.1"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gix-dir"
|
||||
version = "0.6.0"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-discover 0.33.0",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-ignore 0.11.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-index 0.33.1 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-ignore 0.11.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-index 0.33.1 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-pathspec",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-worktree 0.34.1 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-worktree 0.34.1 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -2881,15 +2849,15 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-discover"
|
||||
version = "0.33.0"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"dunce",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-ref 0.45.0",
|
||||
"gix-sec 0.10.7 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-sec 0.10.7 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -2911,20 +2879,18 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-features"
|
||||
version = "0.38.2"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"crc32fast",
|
||||
"crossbeam-channel",
|
||||
"flate2",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"jwalk",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"libc",
|
||||
"once_cell",
|
||||
"parking_lot 0.12.3",
|
||||
"prodash 29.0.0",
|
||||
"sha1",
|
||||
"sha1_smol",
|
||||
"thiserror",
|
||||
"walkdir",
|
||||
@ -2933,19 +2899,19 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-filter"
|
||||
version = "0.11.3"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"encoding_rs",
|
||||
"gix-attributes 0.22.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-attributes 0.22.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-command",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-packetline-blocking",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-quote 0.4.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-quote 0.4.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
]
|
||||
@ -2964,11 +2930,11 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-fs"
|
||||
version = "0.11.2"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"fastrand 2.1.0",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -2986,12 +2952,12 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-glob"
|
||||
version = "0.16.4"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"bstr",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -3007,7 +2973,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-hash"
|
||||
version = "0.14.2"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"faster-hex",
|
||||
"thiserror",
|
||||
@ -3027,9 +2993,9 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-hashtable"
|
||||
version = "0.5.2"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"hashbrown 0.14.5",
|
||||
"parking_lot 0.12.3",
|
||||
]
|
||||
@ -3050,12 +3016,12 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-ignore"
|
||||
version = "0.11.3"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"unicode-bom",
|
||||
]
|
||||
|
||||
@ -3090,21 +3056,21 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-index"
|
||||
version = "0.33.1"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"bstr",
|
||||
"filetime",
|
||||
"fnv",
|
||||
"gix-bitmap 0.2.11 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-lock 14.0.0 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-traverse 0.39.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-bitmap 0.2.11 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-lock 14.0.0 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-traverse 0.39.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"hashbrown 0.14.5",
|
||||
"itoa 1.0.11",
|
||||
"libc",
|
||||
@ -3128,17 +3094,17 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-lock"
|
||||
version = "14.0.0"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"gix-tempfile 14.0.1 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-tempfile 14.0.1 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gix-macros"
|
||||
version = "0.1.5"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
@ -3148,14 +3114,14 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-negotiate"
|
||||
version = "0.13.2"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"gix-commitgraph 0.24.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-commitgraph 0.24.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-date 0.9.0",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-revwalk 0.13.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-revwalk 0.13.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
]
|
||||
@ -3182,15 +3148,15 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-object"
|
||||
version = "0.42.3"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-actor 0.31.5 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-actor 0.31.5 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-date 0.9.0",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"itoa 1.0.11",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
@ -3200,17 +3166,17 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-odb"
|
||||
version = "0.61.1"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"arc-swap",
|
||||
"gix-date 0.9.0",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-pack",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-quote 0.4.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-quote 0.4.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"parking_lot 0.12.3",
|
||||
"tempfile",
|
||||
"thiserror",
|
||||
@ -3219,15 +3185,15 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-pack"
|
||||
version = "0.51.1"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"clru",
|
||||
"gix-chunk 0.4.8 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hashtable 0.5.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-chunk 0.4.8 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hashtable 0.5.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"memmap2",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
@ -3237,11 +3203,11 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-packetline-blocking"
|
||||
version = "0.17.4"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"faster-hex",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -3261,10 +3227,10 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-path"
|
||||
version = "0.10.9"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-trace 0.1.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"home",
|
||||
"once_cell",
|
||||
"thiserror",
|
||||
@ -3273,21 +3239,21 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-pathspec"
|
||||
version = "0.7.6"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"bstr",
|
||||
"gix-attributes 0.22.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-attributes 0.22.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-config-value",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "gix-prompt"
|
||||
version = "0.8.6"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"gix-command",
|
||||
"gix-config-value",
|
||||
@ -3310,10 +3276,10 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-quote"
|
||||
version = "0.4.12"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -3342,18 +3308,18 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-ref"
|
||||
version = "0.45.0"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"gix-actor 0.31.5 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-lock 14.0.0 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-tempfile 14.0.1 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-actor 0.31.5 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-lock 14.0.0 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-tempfile 14.0.1 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-utils 0.1.12 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"memmap2",
|
||||
"thiserror",
|
||||
"winnow 0.6.16",
|
||||
@ -3362,12 +3328,12 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-refspec"
|
||||
version = "0.23.1"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-revision",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
]
|
||||
@ -3375,13 +3341,13 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-revision"
|
||||
version = "0.27.2"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-date 0.9.0",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-revwalk 0.13.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-revwalk 0.13.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
@ -3403,13 +3369,13 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-revwalk"
|
||||
version = "0.13.2"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"gix-commitgraph 0.24.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-commitgraph 0.24.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-date 0.9.0",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hashtable 0.5.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hashtable 0.5.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
]
|
||||
@ -3429,10 +3395,10 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-sec"
|
||||
version = "0.10.7"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"libc",
|
||||
"windows-sys 0.52.0",
|
||||
]
|
||||
@ -3440,11 +3406,11 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-submodule"
|
||||
version = "0.12.0"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-config",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-pathspec",
|
||||
"gix-refspec",
|
||||
"gix-url",
|
||||
@ -3469,9 +3435,9 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-tempfile"
|
||||
version = "14.0.1"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"libc",
|
||||
"once_cell",
|
||||
"parking_lot 0.12.3",
|
||||
@ -3513,7 +3479,7 @@ checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e"
|
||||
[[package]]
|
||||
name = "gix-trace"
|
||||
version = "0.1.9"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
|
||||
[[package]]
|
||||
name = "gix-traverse"
|
||||
@ -3535,15 +3501,15 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-traverse"
|
||||
version = "0.39.2"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"gix-commitgraph 0.24.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-commitgraph 0.24.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-date 0.9.0",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hashtable 0.5.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-revwalk 0.13.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hashtable 0.5.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-revwalk 0.13.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"smallvec",
|
||||
"thiserror",
|
||||
]
|
||||
@ -3551,11 +3517,11 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-url"
|
||||
version = "0.27.4"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"home",
|
||||
"thiserror",
|
||||
"url",
|
||||
@ -3574,7 +3540,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-utils"
|
||||
version = "0.1.12"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"fastrand 2.1.0",
|
||||
@ -3594,7 +3560,7 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-validate"
|
||||
version = "0.8.5"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"thiserror",
|
||||
@ -3622,19 +3588,19 @@ dependencies = [
|
||||
[[package]]
|
||||
name = "gix-worktree"
|
||||
version = "0.34.1"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c#12313f2720bb509cb8fa5d7033560823beafb91c"
|
||||
source = "git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa#29898e3010bd3332418c683f2ac96aff5c8e72fa"
|
||||
dependencies = [
|
||||
"bstr",
|
||||
"gix-attributes 0.22.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-ignore 0.11.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-index 0.33.1 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=12313f2720bb509cb8fa5d7033560823beafb91c)",
|
||||
"gix-attributes 0.22.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-features 0.38.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-fs 0.11.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-glob 0.16.4 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-hash 0.14.2 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-ignore 0.11.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-index 0.33.1 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-object 0.42.3 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-path 0.10.9 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
"gix-validate 0.8.5 (git+https://github.com/Byron/gitoxide?rev=29898e3010bd3332418c683f2ac96aff5c8e72fa)",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@ -4489,16 +4455,6 @@ dependencies = [
|
||||
"thiserror",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "jwalk"
|
||||
version = "0.8.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2735847566356cd2179a2a38264839308f7079fa96e6bd5a42d740460e003c56"
|
||||
dependencies = [
|
||||
"crossbeam",
|
||||
"rayon",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "keyring"
|
||||
version = "2.3.3"
|
||||
@ -4611,16 +4567,6 @@ dependencies = [
|
||||
"vcpkg",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libz-ng-sys"
|
||||
version = "1.1.15"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "c6409efc61b12687963e602df8ecf70e8ddacf95bc6576bcf16e3ac6328083c5"
|
||||
dependencies = [
|
||||
"cmake",
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "libz-sys"
|
||||
version = "1.1.18"
|
||||
@ -6636,16 +6582,6 @@ dependencies = [
|
||||
"cfg-if",
|
||||
"cpufeatures",
|
||||
"digest",
|
||||
"sha1-asm",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "sha1-asm"
|
||||
version = "0.5.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "286acebaf8b67c1130aedffad26f594eff0c1292389158135327d2e23aed582b"
|
||||
dependencies = [
|
||||
"cc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -34,7 +34,7 @@ resolver = "2"
|
||||
|
||||
[workspace.dependencies]
|
||||
# Add the `tracing` or `tracing-detail` features to see more of gitoxide in the logs. Useful to see which programs it invokes.
|
||||
gix = { git = "https://github.com/Byron/gitoxide", rev = "12313f2720bb509cb8fa5d7033560823beafb91c", default-features = false, features = [] }
|
||||
gix = { git = "https://github.com/Byron/gitoxide", rev = "29898e3010bd3332418c683f2ac96aff5c8e72fa", default-features = false, features = [] }
|
||||
git2 = { version = "0.18.3", features = [
|
||||
"vendored-openssl",
|
||||
"vendored-libgit2",
|
||||
|
@ -43,7 +43,7 @@ reqwest = { version = "0.12.4", features = ["json"] }
|
||||
once_cell = "1.19"
|
||||
pretty_assertions = "1.4"
|
||||
gitbutler-testsupport.workspace = true
|
||||
gix = { workspace = true, features = ["max-performance"] }
|
||||
gix = { workspace = true, features = ["max-performance-safe"] }
|
||||
gitbutler-git = { workspace = true, features = ["test-askpass-path"] }
|
||||
glob = "0.3.1"
|
||||
serial_test = "3.1.1"
|
||||
|
@ -38,19 +38,14 @@ pub fn benchmark_list_branches(c: &mut Criterion) {
|
||||
] {
|
||||
let mut group = c.benchmark_group(bench_name);
|
||||
let project = fixture_project(repo_name, script_name);
|
||||
let ctx = CommandContext::open(&project).unwrap();
|
||||
group.throughput(Throughput::Elements(num_references));
|
||||
group
|
||||
.bench_function("no filter", |b| {
|
||||
b.iter(|| {
|
||||
let ctx = CommandContext::open(&project).unwrap();
|
||||
list_branches(black_box(&ctx), None, None)
|
||||
})
|
||||
b.iter(|| list_branches(black_box(&ctx), None, None))
|
||||
})
|
||||
.bench_function("name-filter rejecting all", |b| {
|
||||
b.iter(|| {
|
||||
let ctx = CommandContext::open(&project).unwrap();
|
||||
list_branches(black_box(&ctx), None, Some(vec!["not available".into()]))
|
||||
})
|
||||
b.iter(|| list_branches(black_box(&ctx), None, Some(vec!["not available".into()])))
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,15 @@
|
||||
use crate::VirtualBranchesExt;
|
||||
use anyhow::{Context, Result};
|
||||
use bstr::{BStr, BString, ByteSlice};
|
||||
use core::fmt;
|
||||
use gitbutler_branch::{Branch as GitButlerBranch, BranchId, ReferenceExtGix, Target};
|
||||
use gitbutler_command_context::CommandContext;
|
||||
use gitbutler_reference::normalize_branch_name;
|
||||
use gix::prelude::ObjectIdExt;
|
||||
use gix::reference::Category;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use std::borrow::Cow;
|
||||
use std::collections::BTreeSet;
|
||||
use std::{
|
||||
cmp::max,
|
||||
collections::{HashMap, HashSet},
|
||||
@ -6,49 +17,41 @@ use std::{
|
||||
vec,
|
||||
};
|
||||
|
||||
use anyhow::{Context, Result};
|
||||
use bstr::{BString, ByteSlice};
|
||||
use gitbutler_branch::{Branch as GitButlerBranch, BranchId, ReferenceExt, Target};
|
||||
use gitbutler_command_context::CommandContext;
|
||||
use gitbutler_reference::normalize_branch_name;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::VirtualBranchesExt;
|
||||
|
||||
/// Returns a list of branches associated with this project.
|
||||
pub fn list_branches(
|
||||
ctx: &CommandContext,
|
||||
filter: Option<BranchListingFilter>,
|
||||
filter_branch_names: Option<Vec<BranchIdentity>>,
|
||||
) -> Result<Vec<BranchListing>> {
|
||||
let mut repo = gix::open(ctx.repository().path())?;
|
||||
repo.object_cache_size_if_unset(1024 * 1024);
|
||||
let has_filter = filter.is_some();
|
||||
let filter = filter.unwrap_or_default();
|
||||
let vb_handle = ctx.project().virtual_branches();
|
||||
let platform = repo.references()?;
|
||||
let mut branches: Vec<GroupBranch> = vec![];
|
||||
for (branch, branch_type) in ctx.repository().branches(None)?.filter_map(Result::ok) {
|
||||
for reference in platform.all()?.filter_map(Result::ok) {
|
||||
// Loosely match on branch names
|
||||
if let Some(branch_names) = &filter_branch_names {
|
||||
let has_matching_name = branch_names.iter().any(|branch_name| {
|
||||
if let Ok(Some(name)) = branch.name() {
|
||||
name.ends_with(&branch_name.0)
|
||||
} else {
|
||||
false
|
||||
}
|
||||
});
|
||||
let has_matching_name = branch_names
|
||||
.iter()
|
||||
.any(|branch_name| reference.name().as_bstr().ends_with_str(&branch_name.0));
|
||||
|
||||
if !has_matching_name {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
match branch_type {
|
||||
git2::BranchType::Local => {
|
||||
branches.push(GroupBranch::Local(branch));
|
||||
}
|
||||
git2::BranchType::Remote => {
|
||||
branches.push(GroupBranch::Remote(branch));
|
||||
}
|
||||
let is_local_branch = match reference.name().category() {
|
||||
Some(Category::LocalBranch) => true,
|
||||
Some(Category::RemoteBranch) => false,
|
||||
_ => continue,
|
||||
};
|
||||
branches.push(if is_local_branch {
|
||||
GroupBranch::Local(reference)
|
||||
} else {
|
||||
GroupBranch::Remote(reference)
|
||||
});
|
||||
}
|
||||
|
||||
let virtual_branches = vb_handle.list_all_branches()?;
|
||||
@ -56,7 +59,7 @@ pub fn list_branches(
|
||||
for branch in virtual_branches {
|
||||
branches.push(GroupBranch::Virtual(branch));
|
||||
}
|
||||
let mut branches = combine_branches(branches, ctx, vb_handle.get_default_target()?)?;
|
||||
let mut branches = combine_branches(branches, &repo, vb_handle.get_default_target()?)?;
|
||||
|
||||
// Apply the filter
|
||||
branches.retain(|branch| !has_filter || matches_all(branch, filter));
|
||||
@ -111,11 +114,11 @@ fn matches_all(branch: &BranchListing, filter: BranchListingFilter) -> bool {
|
||||
|
||||
fn combine_branches(
|
||||
group_branches: Vec<GroupBranch>,
|
||||
ctx: &CommandContext,
|
||||
repo: &gix::Repository,
|
||||
target_branch: Target,
|
||||
) -> Result<Vec<BranchListing>> {
|
||||
let repo = ctx.repository();
|
||||
let remotes = repo.remotes()?;
|
||||
let remotes = repo.remote_names();
|
||||
let packed = repo.refs.cached_packed_buffer()?;
|
||||
|
||||
// Group branches by identity
|
||||
let mut groups: HashMap<BranchIdentity, Vec<GroupBranch>> = HashMap::new();
|
||||
@ -134,8 +137,14 @@ fn combine_branches(
|
||||
Ok(groups
|
||||
.into_iter()
|
||||
.filter_map(|(identity, group_branches)| {
|
||||
let res =
|
||||
branch_group_to_branch(&identity, group_branches, repo, &remotes, &target_branch);
|
||||
let res = branch_group_to_branch(
|
||||
&identity,
|
||||
group_branches,
|
||||
repo,
|
||||
packed.as_ref().map(|p| &***p),
|
||||
&remotes,
|
||||
&target_branch,
|
||||
);
|
||||
match res {
|
||||
Ok(branch_entry) => branch_entry,
|
||||
Err(err) => {
|
||||
@ -155,17 +164,22 @@ fn combine_branches(
|
||||
fn branch_group_to_branch(
|
||||
identity: &BranchIdentity,
|
||||
group_branches: Vec<GroupBranch>,
|
||||
repo: &git2::Repository,
|
||||
remotes: &git2::string_array::StringArray,
|
||||
repo: &gix::Repository,
|
||||
packed: Option<&gix::refs::packed::Buffer>,
|
||||
remotes: &BTreeSet<Cow<'_, BStr>>,
|
||||
target: &Target,
|
||||
) -> Result<Option<BranchListing>> {
|
||||
let mut vbranches = group_branches
|
||||
.iter()
|
||||
.filter_map(|branch| match branch {
|
||||
GroupBranch::Virtual(vb) => Some(vb),
|
||||
_ => None,
|
||||
})
|
||||
.collect::<Vec<_>>();
|
||||
let (local_branches, remote_branches, mut vbranches) =
|
||||
group_branches
|
||||
.into_iter()
|
||||
.fold((Vec::new(), Vec::new(), Vec::new()), |mut acc, item| {
|
||||
match item {
|
||||
GroupBranch::Local(branch) => acc.0.push(branch),
|
||||
GroupBranch::Remote(branch) => acc.1.push(branch),
|
||||
GroupBranch::Virtual(branch) => acc.2.push(branch),
|
||||
}
|
||||
acc
|
||||
});
|
||||
|
||||
let virtual_branch = if vbranches.len() > 1 {
|
||||
vbranches.sort_by_key(|virtual_branch| virtual_branch.updated_timestamp_ms);
|
||||
@ -174,25 +188,10 @@ fn branch_group_to_branch(
|
||||
vbranches.first()
|
||||
};
|
||||
|
||||
let remote_branches: Vec<&git2::Branch> = group_branches
|
||||
.iter()
|
||||
.filter_map(|branch| match branch {
|
||||
GroupBranch::Remote(gb) => Some(gb),
|
||||
_ => None,
|
||||
})
|
||||
.collect();
|
||||
let local_branches: Vec<&git2::Branch> = group_branches
|
||||
.iter()
|
||||
.filter_map(|branch| match branch {
|
||||
GroupBranch::Local(gb) => Some(gb),
|
||||
_ => None,
|
||||
})
|
||||
.collect();
|
||||
|
||||
if virtual_branch.is_none()
|
||||
&& local_branches
|
||||
.iter()
|
||||
.any(|b| b.get().given_name(remotes).as_deref().ok() == Some(target.branch.branch()))
|
||||
.any(|b| b.name().given_name(remotes).as_deref().ok() == Some(target.branch.branch()))
|
||||
{
|
||||
return Ok(None);
|
||||
}
|
||||
@ -204,12 +203,11 @@ fn branch_group_to_branch(
|
||||
in_workspace: branch.in_workspace,
|
||||
});
|
||||
|
||||
// TODO(ST): keep the type alive, don't reduce to BString
|
||||
let mut remotes: Vec<BString> = Vec::new();
|
||||
for branch in remote_branches.iter() {
|
||||
if let Some(name) = branch.get().name() {
|
||||
if let Ok(remote_name) = repo.branch_remote_name(name) {
|
||||
remotes.push(remote_name.as_bstr().into());
|
||||
}
|
||||
if let Some(remote_name) = branch.remote_name(gix::remote::Direction::Fetch) {
|
||||
remotes.push(remote_name.as_bstr().into());
|
||||
}
|
||||
}
|
||||
|
||||
@ -218,21 +216,22 @@ fn branch_group_to_branch(
|
||||
// The head commit for which we calculate statistics.
|
||||
// If there is a virtual branch let's get it's head. Alternatively, pick the first local branch and use it's head.
|
||||
// If there are no local branches, pick the first remote branch.
|
||||
let head = if let Some(vbranch) = virtual_branch {
|
||||
Some(vbranch.head)
|
||||
} else if let Some(branch) = local_branches.first().cloned() {
|
||||
branch.get().peel_to_commit().ok().map(|c| c.id())
|
||||
} else if let Some(branch) = remote_branches.first().cloned() {
|
||||
branch.get().peel_to_commit().ok().map(|c| c.id())
|
||||
let head_commit = if let Some(vbranch) = virtual_branch {
|
||||
Some(git2_to_gix_object_id(vbranch.head).attach(repo))
|
||||
} else if let Some(mut branch) = local_branches.into_iter().next() {
|
||||
branch.peel_to_id_in_place_packed(packed).ok()
|
||||
} else if let Some(mut branch) = remote_branches.into_iter().next() {
|
||||
branch.peel_to_id_in_place_packed(packed).ok()
|
||||
} else {
|
||||
None
|
||||
}
|
||||
.context("Could not get any valid reference in order to build branch stats")?;
|
||||
|
||||
let head_commit = repo.find_commit(head)?;
|
||||
// If this was a virtual branch and there was never any remote set, use the virtual branch name as the identity
|
||||
let head = gix_to_git2_oid(head_commit.detach());
|
||||
let head_commit = head_commit.object()?.try_into_commit()?;
|
||||
let head_commit = head_commit.decode()?;
|
||||
let last_modified_ms = max(
|
||||
(head_commit.time().seconds() * 1000) as u128,
|
||||
(head_commit.time().seconds * 1000) as u128,
|
||||
virtual_branch.map_or(0, |x| x.updated_timestamp_ms),
|
||||
);
|
||||
let last_commiter = head_commit.author().into();
|
||||
@ -248,30 +247,37 @@ fn branch_group_to_branch(
|
||||
}))
|
||||
}
|
||||
|
||||
fn gix_to_git2_oid(id: gix::ObjectId) -> git2::Oid {
|
||||
git2::Oid::from_bytes(id.as_bytes()).expect("always valid")
|
||||
}
|
||||
|
||||
fn git2_to_gix_object_id(id: git2::Oid) -> gix::ObjectId {
|
||||
gix::ObjectId::try_from(id.as_bytes()).expect("git2 oid is always valid")
|
||||
}
|
||||
|
||||
/// A sum type of branch that can be a plain git branch or a virtual branch
|
||||
#[allow(clippy::large_enum_variant)]
|
||||
enum GroupBranch<'a> {
|
||||
Local(git2::Branch<'a>),
|
||||
Remote(git2::Branch<'a>),
|
||||
Local(gix::Reference<'a>),
|
||||
Remote(gix::Reference<'a>),
|
||||
Virtual(GitButlerBranch),
|
||||
}
|
||||
|
||||
impl fmt::Debug for GroupBranch<'_> {
|
||||
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match self {
|
||||
GroupBranch::Local(branch) | GroupBranch::Remote(branch) => {
|
||||
let reference = branch.get();
|
||||
let target = reference
|
||||
.target()
|
||||
.expect("Failed to reference target in debug formatting");
|
||||
let name = reference
|
||||
.name()
|
||||
.expect("Failed to get reference name in debug");
|
||||
formatter
|
||||
.debug_struct("GroupBranch::Local/Remote")
|
||||
.field("0", &&format!("id: {}, name: {}", target, name).as_str())
|
||||
.finish()
|
||||
}
|
||||
GroupBranch::Local(branch) | GroupBranch::Remote(branch) => formatter
|
||||
.debug_struct("GroupBranch::Local/Remote")
|
||||
.field(
|
||||
"0",
|
||||
&format!(
|
||||
"id: {:?}, name: {}",
|
||||
branch.target(),
|
||||
branch.name().as_bstr()
|
||||
)
|
||||
.as_str(),
|
||||
)
|
||||
.finish(),
|
||||
GroupBranch::Virtual(branch) => formatter
|
||||
.debug_struct("GroupBranch::Virtal")
|
||||
.field("0", branch)
|
||||
@ -284,10 +290,11 @@ impl GroupBranch<'_> {
|
||||
/// A name identifier for the branch. When multiple branches (e.g. virtual, local, remote) have the same identity,
|
||||
/// they are grouped together under the same `Branch` entry.
|
||||
/// `None` means an identity could not be obtained, which makes this branch odd enough to ignore.
|
||||
fn identity(&self, remotes: &git2::string_array::StringArray) -> Option<BranchIdentity> {
|
||||
fn identity(&self, remotes: &BTreeSet<Cow<'_, BStr>>) -> Option<BranchIdentity> {
|
||||
match self {
|
||||
GroupBranch::Local(branch) => branch.get().given_name(remotes).ok(),
|
||||
GroupBranch::Remote(branch) => branch.get().given_name(remotes).ok(),
|
||||
GroupBranch::Local(branch) | GroupBranch::Remote(branch) => {
|
||||
branch.name().given_name(remotes).ok()
|
||||
}
|
||||
// The identity of a Virtual branch is derived from the source refname, upstream or the branch given name, in that order
|
||||
GroupBranch::Virtual(branch) => {
|
||||
let name_from_source = branch.source_refname.as_ref().and_then(|n| n.branch());
|
||||
@ -354,7 +361,7 @@ pub struct BranchListing {
|
||||
/// The head of interest for the branch group, used for calculating branch statistics.
|
||||
/// If there is a virtual branch, a local branch and remote branches, the head is determined in the following order:
|
||||
/// 1. The head of the virtual branch
|
||||
/// 2. The head of the local branch
|
||||
/// 2. The head of the first local branch
|
||||
/// 3. The head of the first remote branch
|
||||
#[serde(skip)]
|
||||
pub head: git2::Oid,
|
||||
@ -363,6 +370,7 @@ pub struct BranchListing {
|
||||
/// Represents a "commit author" or "signature", based on the data from the git history
|
||||
#[derive(Debug, Clone, Serialize, PartialEq, Eq, Hash)]
|
||||
pub struct Author {
|
||||
// TODO(ST): use `BString` here to not degenerate information
|
||||
/// The name of the author as configured in the git config
|
||||
pub name: Option<String>,
|
||||
/// The email of the author as configured in the git config
|
||||
@ -403,6 +411,15 @@ impl From<git2::Signature<'_>> for Author {
|
||||
}
|
||||
}
|
||||
|
||||
impl From<gix::actor::SignatureRef<'_>> for Author {
|
||||
fn from(value: gix::actor::SignatureRef<'_>) -> Self {
|
||||
Author {
|
||||
name: Some(value.name.to_string()),
|
||||
email: Some(value.email.to_string()),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Represents a reference to an associated virtual branch
|
||||
#[derive(Debug, Clone, Serialize, PartialEq)]
|
||||
#[serde(rename_all = "camelCase")]
|
||||
|
@ -125,7 +125,7 @@ fn one_branch_on_integration_multiple_remotes() -> Result<()> {
|
||||
&list[0],
|
||||
ExpectedBranchListing {
|
||||
identity: "main".into(),
|
||||
remotes: vec!["other-remote", "origin"],
|
||||
remotes: vec!["origin", "other-remote"],
|
||||
virtual_branch_given_name: Some("main"),
|
||||
virtual_branch_in_workspace: true,
|
||||
has_local: true,
|
||||
|
@ -6,7 +6,7 @@ use bstr::ByteSlice;
|
||||
mod branch_ext;
|
||||
pub use branch_ext::BranchExt;
|
||||
mod reference_ext;
|
||||
pub use reference_ext::ReferenceExt;
|
||||
pub use reference_ext::{ReferenceExt, ReferenceExtGix};
|
||||
mod dedup;
|
||||
pub use dedup::{dedup, dedup_fmt};
|
||||
mod file_ownership;
|
||||
|
@ -1,5 +1,9 @@
|
||||
use anyhow::Result;
|
||||
use anyhow::{Context, Result};
|
||||
use bstr::{BStr, ByteSlice};
|
||||
use gix::refs::Category;
|
||||
use itertools::Itertools;
|
||||
use std::borrow::Cow;
|
||||
use std::collections::BTreeSet;
|
||||
|
||||
pub trait ReferenceExt {
|
||||
/// Fetches a branches name without the remote name attached
|
||||
@ -13,6 +17,19 @@ pub trait ReferenceExt {
|
||||
fn given_name(&self, remotes: &git2::string_array::StringArray) -> Result<String>;
|
||||
}
|
||||
|
||||
// TODO(ST): replace the original with this one.
|
||||
pub trait ReferenceExtGix {
|
||||
/// Fetches a branches name without the remote name attached
|
||||
///
|
||||
/// refs/heads/my-branch -> my-branch
|
||||
/// refs/remotes/origin/my-branch -> my-branch
|
||||
/// refs/remotes/Byron/gitbutler/my-branch -> my-branch (where the remote is Byron/gitbutler)
|
||||
///
|
||||
/// An ideal implementation wouldn't require us to list all the references,
|
||||
/// but there doesn't seem to be a libgit2 solution to this.
|
||||
fn given_name(&self, remotes: &BTreeSet<Cow<'_, BStr>>) -> Result<String>;
|
||||
}
|
||||
|
||||
impl<'repo> ReferenceExt for git2::Reference<'repo> {
|
||||
fn given_name(&self, remotes: &git2::string_array::StringArray) -> Result<String> {
|
||||
if self.is_remote() {
|
||||
@ -46,3 +63,35 @@ impl<'repo> ReferenceExt for git2::Reference<'repo> {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl ReferenceExtGix for &gix::refs::FullNameRef {
|
||||
// TODO: make this `identity()`, and use `BranchIdentity` type.
|
||||
fn given_name(&self, remotes: &BTreeSet<Cow<'_, BStr>>) -> Result<String> {
|
||||
let (category, shorthand_name) = self
|
||||
.category_and_short_name()
|
||||
.context("Branch could not be categorized")?;
|
||||
if !matches!(category, Category::RemoteBranch) {
|
||||
return Ok(shorthand_name.to_string());
|
||||
}
|
||||
|
||||
let longest_remote = remotes
|
||||
.iter()
|
||||
.rfind(|reference_name| shorthand_name.starts_with(reference_name))
|
||||
.ok_or(anyhow::anyhow!(
|
||||
"Failed to find remote branch's corresponding remote"
|
||||
))?;
|
||||
|
||||
let shorthand_name: &BStr = shorthand_name
|
||||
.strip_prefix(longest_remote.as_bytes())
|
||||
.and_then(|str| str.strip_prefix(b"/"))
|
||||
.ok_or(anyhow::anyhow!(
|
||||
"Failed to cut remote name {} off of shorthand name {}",
|
||||
longest_remote,
|
||||
shorthand_name
|
||||
))?
|
||||
.into();
|
||||
|
||||
// TODO(correctness): this should be `BString`, but can't change it yet.
|
||||
Ok(shorthand_name.to_string())
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user