on master help sign in
upgrade `git-repository` to `gix` 0.36.1; up min. rustc version to 1.64

This fixes breakage when installing `helix` due to an incorrect usage of `as_ref()` when interacting with `bstr` in the `gitoxide` codebase. However, this upgrade also requires a higher rustc version, as `gitoxide` recently updated its `windows` crate version.

commitac9e0b39f2d217f1c40a7e536e15009b21423610 authorSebastian Thiel <sebastian.thiel@icloud.com> dateMon 20 Feb 2023, 16:48 (4 years ago) parent725d9ae
4 files changed+283−319
Cargo.lock+270−305 helix-vcs/Cargo.toml+2−2 helix-vcs/src/git.rs+10−11 rust-toolchain.toml+1−1
Cargo.lock+270−305
@@ -95,9 +95,9 @@ dependencies = [
9595
9696[[package]]
9797name = "bstr"
98−version = "1.0.1"
98+version = "1.3.0"
9999source = "registry+https://github.com/rust-lang/crates.io-index"
100−checksum = "fca0852af221f458706eb0725c03e4ed6c46af9ac98e6a689d5e634215d594dd"
100+checksum = "5ffdb39cb703212f3c11973452c2861b972f757b021158f3516ba10f2fa8b2c1"
101101dependencies = [
102102 "memchr",
103103 "once_cell",
@@ -383,6 +383,12 @@ dependencies = [
383383 "winapi",
384384]
385385
386+[[package]]
387+name = "dunce"
388+version = "1.0.3"
389+source = "registry+https://github.com/rust-lang/crates.io-index"
390+checksum = "0bd4b30a6560bbd9b4620f4de34c3f14f60848e58a9b7216801afcb4c7b31c3c"
391+
386392[[package]]
387393name = "either"
388394version = "1.8.0"
@@ -561,75 +567,118 @@ dependencies = [
561567]
562568
563569[[package]]
564−name = "git-actor"
565−version = "0.17.0"
570+name = "gix"
571+version = "0.36.1"
572+source = "registry+https://github.com/rust-lang/crates.io-index"
573+checksum = "f3d5dbcb1efbee862cdc851a23377e1a8a5c1a8971740b4933d4ce022a0889a8"
574+dependencies = [
575+ "gix-actor",
576+ "gix-attributes",
577+ "gix-config",
578+ "gix-credentials",
579+ "gix-date",
580+ "gix-diff",
581+ "gix-discover",
582+ "gix-features",
583+ "gix-glob",
584+ "gix-hash",
585+ "gix-hashtable",
586+ "gix-index",
587+ "gix-lock",
588+ "gix-mailmap",
589+ "gix-object",
590+ "gix-odb",
591+ "gix-pack",
592+ "gix-path",
593+ "gix-prompt",
594+ "gix-ref",
595+ "gix-refspec",
596+ "gix-revision",
597+ "gix-sec",
598+ "gix-tempfile",
599+ "gix-traverse",
600+ "gix-url",
601+ "gix-validate",
602+ "gix-worktree",
603+ "log",
604+ "once_cell",
605+ "prodash",
606+ "signal-hook",
607+ "smallvec",
608+ "thiserror",
609+ "unicode-normalization",
610+]
611+
612+[[package]]
613+name = "gix-actor"
614+version = "0.17.2"
566615source = "registry+https://github.com/rust-lang/crates.io-index"
567−checksum = "d9e5fd7bc63ad527d64584f8d01f99b89c051f5fbb8144b58ae5f812775065cf"
616+checksum = "381153ea93b9d8a5c6894a5c734b2e9c15d623063adfd2bda4342ecf90f9a5f8"
568617dependencies = [
569− "bstr 1.0.1",
618+ "bstr 1.3.0",
570619 "btoi",
571− "git-date",
620+ "gix-date",
572621 "itoa",
573622 "nom",
574623 "quick-error",
575624]
576625
577626[[package]]
578−name = "git-attributes"
579−version = "0.8.0"
627+name = "gix-attributes"
628+version = "0.8.3"
580629source = "registry+https://github.com/rust-lang/crates.io-index"
581−checksum = "f8013dfce47c1e29236d732308933e2c77af5355ec5105755d26faf7764d3f7b"
630+checksum = "df09b20424fd4cee04c43b50df954c4b119c45b769639b60d80ee8bb6d84e0aa"
582631dependencies = [
583− "bstr 1.0.1",
632+ "bstr 1.3.0",
584633 "compact_str",
585− "git-features",
586− "git-glob",
587− "git-path",
588− "git-quote",
634+ "gix-features",
635+ "gix-glob",
636+ "gix-path",
637+ "gix-quote",
589638 "thiserror",
590639 "unicode-bom",
591640]
592641
593642[[package]]
594−name = "git-bitmap"
595−version = "0.2.0"
643+name = "gix-bitmap"
644+version = "0.2.1"
596645source = "registry+https://github.com/rust-lang/crates.io-index"
597−checksum = "44304093ac66a0ada1b243c15c3a503a165a1d0f50bec748f4e5a9b84a0d0722"
646+checksum = "5229fd26e288f417c8dd2385c5bc740415eb55aba4d6f529db7ad4b526771e06"
598647dependencies = [
599648 "quick-error",
600649]
601650
602651[[package]]
603−name = "git-chunk"
604−version = "0.4.0"
652+name = "gix-chunk"
653+version = "0.4.1"
605654source = "registry+https://github.com/rust-lang/crates.io-index"
606−checksum = "3090baa2f4a3fe488a9b3e31090b83259aaf930bf0634af34c18117274f8f1a8"
655+checksum = "b0d39583cab06464b8bf73b3f1707458270f0e7383cb24c3c9c1a16e6f792978"
607656dependencies = [
608657 "thiserror",
609658]
610659
611660[[package]]
612−name = "git-command"
613−version = "0.2.1"
661+name = "gix-command"
662+version = "0.2.4"
614663source = "registry+https://github.com/rust-lang/crates.io-index"
615−checksum = "215145cc1686a45bc6f9872b153a0d3f3c40a1b94173a928325e1b53dfa5e2af"
664+checksum = "b2c6f75c1e0f924de39e750880a6e21307194bb1ab773efe3c7d2d787277f8ab"
616665dependencies = [
617− "bstr 1.0.1",
666+ "bstr 1.3.0",
618667]
619668
620669[[package]]
621−name = "git-config"
622−version = "0.15.0"
670+name = "gix-config"
671+version = "0.16.2"
623672source = "registry+https://github.com/rust-lang/crates.io-index"
624−checksum = "c9da662fd64ac69772158dcf04777da6266f0f36bc9a310b3eb2d805bb696315"
673+checksum = "398b5003d5e4991355528e8fbb4a9d532050c8327df790522735a711db82fcd0"
625674dependencies = [
626− "bstr 1.0.1",
627− "git-config-value",
628− "git-features",
629− "git-glob",
630− "git-path",
631− "git-ref",
632− "git-sec",
675+ "bstr 1.3.0",
676+ "gix-config-value",
677+ "gix-features",
678+ "gix-glob",
679+ "gix-path",
680+ "gix-ref",
681+ "gix-sec",
633682 "memchr",
634683 "nom",
635684 "once_cell",
@@ -639,81 +688,82 @@ dependencies = [
639688]
640689
641690[[package]]
642−name = "git-config-value"
643−version = "0.10.0"
691+name = "gix-config-value"
692+version = "0.10.1"
644693source = "registry+https://github.com/rust-lang/crates.io-index"
645−checksum = "989a90c1c630513a153c685b4249b96fdf938afc75bf7ef2ae1ccbd3d799f5db"
694+checksum = "693d4a4ba0531e46fe558459557a5b29fb86c3e4b2666c1c0861d93c7c678331"
646695dependencies = [
647696 "bitflags",
648− "bstr 1.0.1",
649− "git-path",
697+ "bstr 1.3.0",
698+ "gix-path",
650699 "libc",
651700 "thiserror",
652701]
653702
654703[[package]]
655−name = "git-credentials"
656−version = "0.9.0"
704+name = "gix-credentials"
705+version = "0.9.2"
657706source = "registry+https://github.com/rust-lang/crates.io-index"
658−checksum = "97cd6bbe001afd6356b35ef13f2a6b0f0abc0133d1b2ecaec1033bdd769616d6"
707+checksum = "5d1536399f70146825bd10321adc5307032e3de93f4954a3c54184281f2e6955"
659708dependencies = [
660− "bstr 1.0.1",
661− "git-command",
662− "git-config-value",
663− "git-path",
664− "git-prompt",
665− "git-sec",
666− "git-url",
709+ "bstr 1.3.0",
710+ "gix-command",
711+ "gix-config-value",
712+ "gix-path",
713+ "gix-prompt",
714+ "gix-sec",
715+ "gix-url",
667716 "thiserror",
668717]
669718
670719[[package]]
671−name = "git-date"
672−version = "0.4.0"
720+name = "gix-date"
721+version = "0.4.3"
673722source = "registry+https://github.com/rust-lang/crates.io-index"
674−checksum = "412c9b89026505bd24d5f8acafa578de6eea3b271ece307a73b8e646e671302a"
723+checksum = "b96271912ce39822501616f177dea7218784e6c63be90d5f36322ff3a722aae2"
675724dependencies = [
676− "bstr 1.0.1",
725+ "bstr 1.3.0",
677726 "itoa",
678727 "thiserror",
679728 "time",
680729]
681730
682731[[package]]
683−name = "git-diff"
684−version = "0.26.0"
732+name = "gix-diff"
733+version = "0.26.1"
685734source = "registry+https://github.com/rust-lang/crates.io-index"
686−checksum = "ca87474422d26d606d04cec6bedfabcd92a0a74102cd7936785358ced6a4a25a"
735+checksum = "2ec3351a6cec2ddca29c1124afef8b4f3fad0b617dce8916148153541468117c"
687736dependencies = [
688− "git-hash",
689− "git-object",
737+ "gix-hash",
738+ "gix-object",
690739 "imara-diff",
691740 "thiserror",
692741]
693742
694743[[package]]
695−name = "git-discover"
696−version = "0.12.0"
744+name = "gix-discover"
745+version = "0.13.1"
697746source = "registry+https://github.com/rust-lang/crates.io-index"
698−checksum = "1e9e26e0bc434643228cd418185bd28ca5c7cf831bde1da434807391c27ac40e"
747+checksum = "38029783886cb46fbe63e61b02a70404aa04cfeacfb53ed336832c20fcb1e281"
699748dependencies = [
700− "bstr 1.0.1",
701− "git-hash",
702− "git-path",
703− "git-ref",
704− "git-sec",
749+ "bstr 1.3.0",
750+ "dunce",
751+ "gix-hash",
752+ "gix-path",
753+ "gix-ref",
754+ "gix-sec",
705755 "thiserror",
706756]
707757
708758[[package]]
709−name = "git-features"
710−version = "0.26.0"
759+name = "gix-features"
760+version = "0.26.5"
711761source = "registry+https://github.com/rust-lang/crates.io-index"
712−checksum = "5ff74064fa007c5beefa89a64bb72834f32b3c497750a56c79c6802bbdb311f9"
762+checksum = "3402b831ea4bb3af36369d61dbf250eb0e1a8577d3cb77b9719c11a82485bfe9"
713763dependencies = [
714764 "crc32fast",
715765 "flate2",
716− "git-hash",
766+ "gix-hash",
717767 "libc",
718768 "once_cell",
719769 "prodash",
@@ -723,51 +773,51 @@ dependencies = [
723773]
724774
725775[[package]]
726−name = "git-glob"
727−version = "0.5.1"
776+name = "gix-glob"
777+version = "0.5.5"
728778source = "registry+https://github.com/rust-lang/crates.io-index"
729−checksum = "3908404c9b76ac7b3f636a104142378d3eaa78623cbc6eb7c7f0651979d48e8a"
779+checksum = "93e43efd776bc543f46f0fd0ca3d920c37af71a764a16f2aebd89765e9ff2993"
730780dependencies = [
731781 "bitflags",
732− "bstr 1.0.1",
782+ "bstr 1.3.0",
733783]
734784
735785[[package]]
736−name = "git-hash"
737−version = "0.10.1"
786+name = "gix-hash"
787+version = "0.10.3"
738788source = "registry+https://github.com/rust-lang/crates.io-index"
739−checksum = "1532d82bf830532f8d545c5b7b568e311e3593f16cf7ee9dd0ce03c74b12b99d"
789+checksum = "0c0c5a9f4d621d4f4ea046bb331df5c746ca735b8cae5b234cc2be70ee4dbef0"
740790dependencies = [
741791 "hex",
742792 "thiserror",
743793]
744794
745795[[package]]
746−name = "git-hashtable"
747−version = "0.1.0"
796+name = "gix-hashtable"
797+version = "0.1.1"
748798source = "registry+https://github.com/rust-lang/crates.io-index"
749−checksum = "c52b625ad8cc360a0b7f426266f21fb07bd49b8f4ccf1b3ca7bc89424db1dec4"
799+checksum = "1a256cceeea0f0d7f42a0c3ac649535644a04395d9f415518f4008ef6bb331b5"
750800dependencies = [
751− "git-hash",
801+ "gix-hash",
752802 "hashbrown 0.13.2",
753803]
754804
755805[[package]]
756−name = "git-index"
757−version = "0.12.1"
806+name = "gix-index"
807+version = "0.12.4"
758808source = "registry+https://github.com/rust-lang/crates.io-index"
759−checksum = "485da97dd4f69c7d9a8dc238cd6f4a726387ffc34573489e8e0d2bee266e3454"
809+checksum = "decb345476c25434a202f1cf8a24aa71133c567b7b502c549fd57211c51ed78a"
760810dependencies = [
761811 "atoi",
762812 "bitflags",
763− "bstr 1.0.1",
813+ "bstr 1.3.0",
764814 "filetime",
765− "git-bitmap",
766− "git-features",
767− "git-hash",
768− "git-lock",
769− "git-object",
770− "git-traverse",
815+ "gix-bitmap",
816+ "gix-features",
817+ "gix-hash",
818+ "gix-lock",
819+ "gix-object",
820+ "gix-traverse",
771821 "itoa",
772822 "memmap2",
773823 "smallvec",
@@ -775,39 +825,39 @@ dependencies = [
775825]
776826
777827[[package]]
778−name = "git-lock"
779−version = "3.0.0"
828+name = "gix-lock"
829+version = "3.0.2"
780830source = "registry+https://github.com/rust-lang/crates.io-index"
781−checksum = "89e4f05b8a68c3a5dd83a6651c76be384e910fe283072184fdab9d77f87ccec2"
831+checksum = "e5fe84f09afadec78a7227d80f58cb5412d216dbae4b7fa060b619c0ce62b55d"
782832dependencies = [
783833 "fastrand",
784− "git-tempfile",
834+ "gix-tempfile",
785835 "quick-error",
786836]
787837
788838[[package]]
789−name = "git-mailmap"
790−version = "0.9.0"
839+name = "gix-mailmap"
840+version = "0.9.3"
791841source = "registry+https://github.com/rust-lang/crates.io-index"
792−checksum = "0316b4346f3e162ade368209efb8a609b587793c74aa3b8de0ec01a4f3580120"
842+checksum = "a28214e75835ab33d34210a18981110642728bf169f5e339dbfb6f6380b94318"
793843dependencies = [
794− "bstr 1.0.1",
795− "git-actor",
844+ "bstr 1.3.0",
845+ "gix-actor",
796846 "quick-error",
797847]
798848
799849[[package]]
800−name = "git-object"
801−version = "0.26.0"
850+name = "gix-object"
851+version = "0.26.2"
802852source = "registry+https://github.com/rust-lang/crates.io-index"
803−checksum = "3f8563e2d6f524d7053f3106714f99ecdc3adbba2cb7108c09d71a02579f2e19"
853+checksum = "de3b04e3028ddab838d005104f234f4d2c26ecd51f2d72d96747c878094c4619"
804854dependencies = [
805− "bstr 1.0.1",
855+ "bstr 1.3.0",
806856 "btoi",
807− "git-actor",
808− "git-features",
809− "git-hash",
810− "git-validate",
857+ "gix-actor",
858+ "gix-features",
859+ "gix-hash",
860+ "gix-validate",
811861 "hex",
812862 "itoa",
813863 "nom",
@@ -816,41 +866,41 @@ dependencies = [
816866]
817867
818868[[package]]
819−name = "git-odb"
820−version = "0.40.0"
869+name = "gix-odb"
870+version = "0.40.2"
821871source = "registry+https://github.com/rust-lang/crates.io-index"
822−checksum = "616115a0e3daff6e08842758d24547b37a6eb6d0e2eedd95a740c3aaa2750333"
872+checksum = "0bd81ab7cd13c0f78bd619f967509953094f415288f8693dbb63a084e5bb39c4"
823873dependencies = [
824874 "arc-swap",
825− "git-features",
826− "git-hash",
827− "git-object",
828− "git-pack",
829− "git-path",
830− "git-quote",
875+ "gix-features",
876+ "gix-hash",
877+ "gix-object",
878+ "gix-pack",
879+ "gix-path",
880+ "gix-quote",
831881 "parking_lot 0.12.1",
832882 "tempfile",
833883 "thiserror",
834884]
835885
836886[[package]]
837−name = "git-pack"
838−version = "0.30.0"
887+name = "gix-pack"
888+version = "0.30.3"
839889source = "registry+https://github.com/rust-lang/crates.io-index"
840−checksum = "7cd16b88f4b66041f41ca510c28bd81c4ee7363c5a544b3d62b4170432965871"
890+checksum = "26143c5c8bc145a39e9b335cc74504f2eba2ce68b1724661d8e6cb4484ab187e"
841891dependencies = [
842892 "bytesize",
843893 "clru",
844894 "dashmap",
845− "git-chunk",
846− "git-diff",
847− "git-features",
848− "git-hash",
849− "git-hashtable",
850− "git-object",
851− "git-path",
852− "git-tempfile",
853− "git-traverse",
895+ "gix-chunk",
896+ "gix-diff",
897+ "gix-features",
898+ "gix-hash",
899+ "gix-hashtable",
900+ "gix-object",
901+ "gix-path",
902+ "gix-tempfile",
903+ "gix-traverse",
854904 "memmap2",
855905 "parking_lot 0.12.1",
856906 "smallvec",
@@ -858,147 +908,104 @@ dependencies = [
858908]
859909
860910[[package]]
861−name = "git-path"
862−version = "0.7.0"
911+name = "gix-path"
912+version = "0.7.2"
863913source = "registry+https://github.com/rust-lang/crates.io-index"
864−checksum = "e40e68481a06da243d3f4dfd86a4be39c24eefb535017a862e845140dcdb878a"
914+checksum = "f6c104a66dec149cb8f7aaafc6ab797654cf82d67f050fd0cb7e7294e328354b"
865915dependencies = [
866− "bstr 1.0.1",
916+ "bstr 1.3.0",
867917 "thiserror",
868918]
869919
870920[[package]]
871−name = "git-prompt"
872−version = "0.3.0"
921+name = "gix-prompt"
922+version = "0.3.2"
873923source = "registry+https://github.com/rust-lang/crates.io-index"
874−checksum = "3612a486e507dd431ef0f7108eeaafc8fd1ed7bd0f205a88554f6f91fe5dccbf"
924+checksum = "a20cebf73229debaa82574c4fd20dcaf00fa8d4bfce823a862c4e990d7a0b5b4"
875925dependencies = [
876− "git-command",
877− "git-config-value",
926+ "gix-command",
927+ "gix-config-value",
878928 "nix",
879929 "parking_lot 0.12.1",
880930 "thiserror",
881931]
882932
883933[[package]]
884−name = "git-quote"
885−version = "0.4.0"
934+name = "gix-quote"
935+version = "0.4.2"
886936source = "registry+https://github.com/rust-lang/crates.io-index"
887−checksum = "1dd11f4e7f251ab297545faa4c5a4517f4985a43b9c16bf96fa49107f58e837f"
937+checksum = "e34cffcf5dd0ddf06a768b697a0f29319284deffba970e4355b51b0fee61ffa2"
888938dependencies = [
889− "bstr 1.0.1",
939+ "bstr 1.3.0",
890940 "btoi",
891941 "quick-error",
892942]
893943
894944[[package]]
895−name = "git-ref"
896−version = "0.23.0"
945+name = "gix-ref"
946+version = "0.24.1"
897947source = "registry+https://github.com/rust-lang/crates.io-index"
898−checksum = "5e6767925a6fc4af5c5a81e348d1d851c1b3ab2b512bd7f562ac11be37c14468"
948+checksum = "93e85abee11aa093f24da7336bf0a8ad598f15da396b28cf1270ab1091137d35"
899949dependencies = [
900− "git-actor",
901− "git-features",
902− "git-hash",
903− "git-lock",
904− "git-object",
905− "git-path",
906− "git-tempfile",
907− "git-validate",
950+ "gix-actor",
951+ "gix-features",
952+ "gix-hash",
953+ "gix-lock",
954+ "gix-object",
955+ "gix-path",
956+ "gix-tempfile",
957+ "gix-validate",
908958 "memmap2",
909959 "nom",
910960 "thiserror",
911961]
912962
913963[[package]]
914−name = "git-refspec"
915−version = "0.7.0"
964+name = "gix-refspec"
965+version = "0.7.3"
916966source = "registry+https://github.com/rust-lang/crates.io-index"
917−checksum = "ddf310ed5f2829ac0af96e7d4aebd4ae4b89f0718a7ae3666d09b02b2c5a1dfd"
967+checksum = "ac80b201eeeb3bc554583fd0127cb6bc9e20981cabb085149c9740329f8a2319"
918968dependencies = [
919− "bstr 1.0.1",
920− "git-hash",
921− "git-revision",
922− "git-validate",
923− "smallvec",
924− "thiserror",
925−]
926−
927−[[package]]
928−name = "git-repository"
929−version = "0.32.0"
930−source = "registry+https://github.com/rust-lang/crates.io-index"
931−checksum = "993277960cb7e2d3991a11c1ec6951c1d142de052c26a18d2db64304e52d3741"
932−dependencies = [
933− "git-actor",
934− "git-attributes",
935− "git-config",
936− "git-credentials",
937− "git-date",
938− "git-diff",
939− "git-discover",
940− "git-features",
941− "git-glob",
942− "git-hash",
943− "git-hashtable",
944− "git-index",
945− "git-lock",
946− "git-mailmap",
947− "git-object",
948− "git-odb",
949− "git-pack",
950− "git-path",
951− "git-prompt",
952− "git-ref",
953− "git-refspec",
954− "git-revision",
955− "git-sec",
956− "git-tempfile",
957− "git-traverse",
958− "git-url",
959− "git-validate",
960− "git-worktree",
961− "log",
962− "once_cell",
963− "prodash",
964− "signal-hook",
969+ "bstr 1.3.0",
970+ "gix-hash",
971+ "gix-revision",
972+ "gix-validate",
965973 "smallvec",
966974 "thiserror",
967− "unicode-normalization",
968975]
969976
970977[[package]]
971−name = "git-revision"
972−version = "0.10.0"
978+name = "gix-revision"
979+version = "0.10.4"
973980source = "registry+https://github.com/rust-lang/crates.io-index"
974−checksum = "4f9a6bd28c9d1676bb96f428cd09614ae18a0087d7cea1cebfd177e25f99b2af"
981+checksum = "107a10d92379a797bea0f1d0eceded58e08913e0a706c8d436592673c6c6503f"
975982dependencies = [
976− "bstr 1.0.1",
977− "git-date",
978− "git-hash",
979− "git-hashtable",
980− "git-object",
983+ "bstr 1.3.0",
984+ "gix-date",
985+ "gix-hash",
986+ "gix-hashtable",
987+ "gix-object",
981988 "thiserror",
982989]
983990
984991[[package]]
985−name = "git-sec"
986−version = "0.6.0"
992+name = "gix-sec"
993+version = "0.6.2"
987994source = "registry+https://github.com/rust-lang/crates.io-index"
988−checksum = "9e1802e8252fa223b0ad89a393aed461132174ced1e6842a41f56dc92a3fc14f"
995+checksum = "e8ffa5bf0772f9b01de501c035b6b084cf9b8bb07dec41e3afc6a17336a65f47"
989996dependencies = [
990997 "bitflags",
991998 "dirs",
992− "git-path",
999+ "gix-path",
9931000 "libc",
9941001 "windows",
9951002]
9961003
9971004[[package]]
998−name = "git-tempfile"
999−version = "3.0.0"
1005+name = "gix-tempfile"
1006+version = "3.0.2"
10001007source = "registry+https://github.com/rust-lang/crates.io-index"
1001−checksum = "a6bb4dee86c8cae5a078cfaac3b004ef99c31548ed86218f23a7ff9b4b74f3be"
1008+checksum = "48590cb5de0b8feadee42466a90028877ba67b9fd894c5493b4b64f5e3217c17"
10021009dependencies = [
10031010 "dashmap",
10041011 "libc",
@@ -1009,55 +1016,55 @@ dependencies = [
10091016]
10101017
10111018[[package]]
1012−name = "git-traverse"
1013−version = "0.22.0"
1019+name = "gix-traverse"
1020+version = "0.22.1"
10141021source = "registry+https://github.com/rust-lang/crates.io-index"
1015−checksum = "bd356da21ec00f69b9d4f105df4cb85543c746b18f4b7fc81529ce77713cdb29"
1022+checksum = "f7ee7eee98b6e196fba1f34751d4399e0daa4e61892a78f634d0901e52dd739b"
10161023dependencies = [
1017− "git-hash",
1018− "git-hashtable",
1019− "git-object",
1024+ "gix-hash",
1025+ "gix-hashtable",
1026+ "gix-object",
10201027 "thiserror",
10211028]
10221029
10231030[[package]]
1024−name = "git-url"
1025−version = "0.13.0"
1031+name = "gix-url"
1032+version = "0.13.3"
10261033source = "registry+https://github.com/rust-lang/crates.io-index"
1027−checksum = "c85af407ed0dbb8d8da2a7241827d2fd5681186d9dab3570fc8dd8d6152ec48f"
1034+checksum = "4d6e3e05267f7873099b3e510ab8eebdfc28920a915ab2e3d549493abe0fd9f0"
10281035dependencies = [
1029− "bstr 1.0.1",
1030− "git-features",
1031− "git-path",
1036+ "bstr 1.3.0",
1037+ "gix-features",
1038+ "gix-path",
10321039 "home",
10331040 "thiserror",
10341041 "url",
10351042]
10361043
10371044[[package]]
1038−name = "git-validate"
1039−version = "0.7.1"
1045+name = "gix-validate"
1046+version = "0.7.3"
10401047source = "registry+https://github.com/rust-lang/crates.io-index"
1041−checksum = "0431cf9352c596dc7c8ec9066ee551ce54e63c86c3c767e5baf763f6019ff3c2"
1048+checksum = "b69ddb780ea1465255e66818d75b7098371c58dbc9560da4488a44b9f5c7e443"
10421049dependencies = [
1043− "bstr 1.0.1",
1050+ "bstr 1.3.0",
10441051 "thiserror",
10451052]
10461053
10471054[[package]]
1048−name = "git-worktree"
1049−version = "0.12.0"
1055+name = "gix-worktree"
1056+version = "0.12.3"
10501057source = "registry+https://github.com/rust-lang/crates.io-index"
1051−checksum = "ca3bc63878f134e08ed52dba5d82422798c01a3f2e48c38ae9a2f7ff9194f362"
1058+checksum = "da7ddd5b042c85cfe768d5ea97bb204cf1ed2b9413148f482146f4e831ca172e"
10521059dependencies = [
1053− "bstr 1.0.1",
1054− "git-attributes",
1055− "git-features",
1056− "git-glob",
1057− "git-hash",
1058− "git-index",
1059− "git-object",
1060− "git-path",
1060+ "bstr 1.3.0",
1061+ "gix-attributes",
1062+ "gix-features",
1063+ "gix-glob",
1064+ "gix-hash",
1065+ "gix-index",
1066+ "gix-object",
1067+ "gix-path",
10611068 "io-close",
10621069 "thiserror",
10631070]
@@ -1269,7 +1276,7 @@ dependencies = [
12691276name = "helix-vcs"
12701277version = "0.6.0"
12711278dependencies = [
1272− "git-repository",
1279+ "gix",
12731280 "helix-core",
12741281 "imara-diff",
12751282 "log",
@@ -2472,17 +2479,17 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
24722479
24732480[[package]]
24742481name = "windows"
2475−version = "0.40.0"
2482+version = "0.43.0"
24762483source = "registry+https://github.com/rust-lang/crates.io-index"
2477−checksum = "e30acc718a52fb130fec72b1cb5f55ffeeec9253e1b785e94db222178a6acaa1"
2484+checksum = "04662ed0e3e5630dfa9b26e4cb823b817f1a9addda855d973a9458c236556244"
24782485dependencies = [
2479− "windows_aarch64_gnullvm 0.40.0",
2480− "windows_aarch64_msvc 0.40.0",
2481− "windows_i686_gnu 0.40.0",
2482− "windows_i686_msvc 0.40.0",
2483− "windows_x86_64_gnu 0.40.0",
2484− "windows_x86_64_gnullvm 0.40.0",
2485− "windows_x86_64_msvc 0.40.0",
2486+ "windows_aarch64_gnullvm",
2487+ "windows_aarch64_msvc",
2488+ "windows_i686_gnu",
2489+ "windows_i686_msvc",
2490+ "windows_x86_64_gnu",
2491+ "windows_x86_64_gnullvm",
2492+ "windows_x86_64_msvc",
24862493]
24872494
24882495[[package]]
@@ -2491,93 +2498,51 @@ version = "0.42.0"
24912498source = "registry+https://github.com/rust-lang/crates.io-index"
24922499checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
24932500dependencies = [
2494− "windows_aarch64_gnullvm 0.42.0",
2495− "windows_aarch64_msvc 0.42.0",
2496− "windows_i686_gnu 0.42.0",
2497− "windows_i686_msvc 0.42.0",
2498− "windows_x86_64_gnu 0.42.0",
2499− "windows_x86_64_gnullvm 0.42.0",
2500− "windows_x86_64_msvc 0.42.0",
2501+ "windows_aarch64_gnullvm",
2502+ "windows_aarch64_msvc",
2503+ "windows_i686_gnu",
2504+ "windows_i686_msvc",
2505+ "windows_x86_64_gnu",
2506+ "windows_x86_64_gnullvm",
2507+ "windows_x86_64_msvc",
25012508]
25022509
2503−[[package]]
2504−name = "windows_aarch64_gnullvm"
2505−version = "0.40.0"
2506−source = "registry+https://github.com/rust-lang/crates.io-index"
2507−checksum = "f3caa4a1a16561b714323ca6b0817403738583033a6a92e04c5d10d4ba37ca10"
2508−
25092510[[package]]
25102511name = "windows_aarch64_gnullvm"
25112512version = "0.42.0"
25122513source = "registry+https://github.com/rust-lang/crates.io-index"
25132514checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
25142515
2515−[[package]]
2516−name = "windows_aarch64_msvc"
2517−version = "0.40.0"
2518−source = "registry+https://github.com/rust-lang/crates.io-index"
2519−checksum = "328973c62dfcc50fb1aaa8e7100676e0b642fe56bac6bafff3327902db843ab4"
2520−
25212516[[package]]
25222517name = "windows_aarch64_msvc"
25232518version = "0.42.0"
25242519source = "registry+https://github.com/rust-lang/crates.io-index"
25252520checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
25262521
2527−[[package]]
2528−name = "windows_i686_gnu"
2529−version = "0.40.0"
2530−source = "registry+https://github.com/rust-lang/crates.io-index"
2531−checksum = "aa5b09fad70f0df85dea2ac2a525537e415e2bf63ee31cf9b8e263645ee9f3c1"
2532−
25332522[[package]]
25342523name = "windows_i686_gnu"
25352524version = "0.42.0"
25362525source = "registry+https://github.com/rust-lang/crates.io-index"
25372526checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
25382527
2539−[[package]]
2540−name = "windows_i686_msvc"
2541−version = "0.40.0"
2542−source = "registry+https://github.com/rust-lang/crates.io-index"
2543−checksum = "2a1ad4031c1a98491fa195d8d43d7489cb749f135f2e5c4eed58da094bd0d876"
2544−
25452528[[package]]
25462529name = "windows_i686_msvc"
25472530version = "0.42.0"
25482531source = "registry+https://github.com/rust-lang/crates.io-index"
25492532checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
25502533
2551−[[package]]
2552−name = "windows_x86_64_gnu"
2553−version = "0.40.0"
2554−source = "registry+https://github.com/rust-lang/crates.io-index"
2555−checksum = "520ff37edd72da8064b49d2281182898e17f0688ae9f4070bca27e4b5c162ac7"
2556−
25572534[[package]]
25582535name = "windows_x86_64_gnu"
25592536version = "0.42.0"
25602537source = "registry+https://github.com/rust-lang/crates.io-index"
25612538checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
25622539
2563−[[package]]
2564−name = "windows_x86_64_gnullvm"
2565−version = "0.40.0"
2566−source = "registry+https://github.com/rust-lang/crates.io-index"
2567−checksum = "046e5b82215102c44fd75f488f1b9158973d02aa34d06ed85c23d6f5520a2853"
2568−
25692540[[package]]
25702541name = "windows_x86_64_gnullvm"
25712542version = "0.42.0"
25722543source = "registry+https://github.com/rust-lang/crates.io-index"
25732544checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
25742545
2575−[[package]]
2576−name = "windows_x86_64_msvc"
2577−version = "0.40.0"
2578−source = "registry+https://github.com/rust-lang/crates.io-index"
2579−checksum = "2a0c9c6df55dd1bfa76e131cef44bdd8ec9c819ef3611f04dfe453fd5bfeda28"
2580−
25812546[[package]]
25822547name = "windows_x86_64_msvc"
25832548version = "0.42.0"
helix-vcs/Cargo.toml+2−2
@@ -16,13 +16,13 @@ helix-core = { version = "0.6", path = "../helix-core" }
1616tokio = { version = "1", features = ["rt", "rt-multi-thread", "time", "sync", "parking_lot", "macros"] }
1717parking_lot = "0.12"
1818
19−git-repository = { version = "0.32", default-features = false , optional = true }
19+gix= { version = "0.36.1", default-features = false , optional = true }
2020imara-diff = "0.1.5"
2121
2222log = "0.4"
2323
2424[features]
25−git = ["git-repository"]
25+git = ["gix"]
2626
2727[dev-dependencies]
2828tempfile = "3.4"
helix-vcs/src/git.rs+10−11
@@ -1,9 +1,8 @@
11use std::path::Path;
22
3−use git::objs::tree::EntryMode;
4−use git::sec::trust::DefaultForLevel;
5−use git::{Commit, ObjectId, Repository, ThreadSafeRepository};
6−use git_repository as git;
3+use gix::objs::tree::EntryMode;
4+use gix::sec::trust::DefaultForLevel;
5+use gix::{Commit, ObjectId, Repository, ThreadSafeRepository};
76
87use crate::DiffProvider;
98
@@ -15,13 +14,13 @@ pub struct Git;
1514impl Git {
1615 fn open_repo(path: &Path, ceiling_dir: Option<&Path>) -> Option<ThreadSafeRepository> {
1716 // custom open options
18− let mut git_open_opts_map = git::sec::trust::Mapping::<git::open::Options>::default();
17+ let mut git_open_opts_map = gix::sec::trust::Mapping::<gix::open::Options>::default();
1918
2019 // On windows various configuration options are bundled as part of the installations
2120 // This path depends on the install location of git and therefore requires some overhead to lookup
2221 // This is basically only used on windows and has some overhead hence it's disabled on other platforms.
2322 // `gitoxide` doesn't use this as default
24− let config = git::permissions::Config {
23+ let config = gix::permissions::Config {
2524 system: true,
2625 git: true,
2726 user: true,
@@ -30,16 +29,16 @@ impl Git {
3029 git_binary: cfg!(windows),
3130 };
3231 // change options for config permissions without touching anything else
33− git_open_opts_map.reduced = git_open_opts_map.reduced.permissions(git::Permissions {
32+ git_open_opts_map.reduced = git_open_opts_map.reduced.permissions(gix::Permissions {
3433 config,
35− ..git::Permissions::default_for_level(git::sec::Trust::Reduced)
34+ ..gix::Permissions::default_for_level(gix::sec::Trust::Reduced)
3635 });
37− git_open_opts_map.full = git_open_opts_map.full.permissions(git::Permissions {
36+ git_open_opts_map.full = git_open_opts_map.full.permissions(gix::Permissions {
3837 config,
39− ..git::Permissions::default_for_level(git::sec::Trust::Full)
38+ ..gix::Permissions::default_for_level(gix::sec::Trust::Full)
4039 });
4140
42− let mut open_options = git::discover::upwards::Options::default();
41+ let mut open_options = gix::discover::upwards::Options::default();
4342 if let Some(ceiling_dir) = ceiling_dir {
4443 open_options.ceiling_dirs = vec![ceiling_dir.to_owned()];
4544 }
rust-toolchain.toml+1−1
@@ -1,3 +1,3 @@
11[toolchain]
2−channel = "1.63.0"
2+channel = "1.64.0"
33components = ["rustfmt", "rust-src"]