@@ -4,22 +4,27 @@ use cargo_test_support::{basic_manifest, git, paths, project};
4
4
5
5
use crate :: git_gc:: find_index;
6
6
7
+ enum Backend {
8
+ Git2 ,
9
+ Gitoxide ,
10
+ }
11
+
7
12
enum RepoMode {
8
13
Shallow ,
9
14
Complete ,
10
15
}
11
16
12
17
#[ cargo_test]
13
- fn gitoxide_clones_shallow_two_revs_same_deps ( ) {
14
- perform_two_revs_same_deps ( RepoMode :: Shallow )
18
+ fn gitoxide_fetch_shallow_two_revs_same_deps ( ) {
19
+ fetch_two_revs_same_deps ( Backend :: Gitoxide , RepoMode :: Shallow )
15
20
}
16
21
17
22
#[ cargo_test]
18
- fn two_revs_same_deps ( ) {
19
- perform_two_revs_same_deps ( RepoMode :: Complete )
23
+ fn git2_fetch_complete_two_revs_same_deps ( ) {
24
+ fetch_two_revs_same_deps ( Backend :: Git2 , RepoMode :: Complete )
20
25
}
21
26
22
- fn perform_two_revs_same_deps ( mode : RepoMode ) {
27
+ fn fetch_two_revs_same_deps ( backend : Backend , mode : RepoMode ) {
23
28
let bar = git:: new ( "meta-dep" , |project| {
24
29
project
25
30
. file ( "Cargo.toml" , & basic_manifest ( "bar" , "0.0.0" ) )
@@ -97,12 +102,18 @@ fn perform_two_revs_same_deps(mode: RepoMode) {
97
102
)
98
103
. build ( ) ;
99
104
105
+ let backend_args = match backend {
106
+ Backend :: Git2 => "" ,
107
+ Backend :: Gitoxide => "-Zgitoxide=fetch" ,
108
+ } ;
100
109
let mode_args = match mode {
101
110
RepoMode :: Complete => "" ,
102
- RepoMode :: Shallow => "-Zgitoxide=fetch - Zgit=shallow-deps" ,
111
+ RepoMode :: Shallow => "-Zgit=shallow-deps" ,
103
112
} ;
104
113
foo. cargo ( "check -v" )
114
+ . arg_line ( backend_args)
105
115
. arg_line ( mode_args)
116
+ . env ( "__CARGO_USE_GITOXIDE_INSTEAD_OF_GIT2" , "0" ) // respect `backend`
106
117
. masquerade_as_nightly_cargo ( & [ "gitoxide=fetch" , "git=shallow-deps" ] )
107
118
. run ( ) ;
108
119
}
0 commit comments