File tree 4 files changed +43
-1
lines changed
4 files changed +43
-1
lines changed Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ set -eu -o pipefail
3
+
4
+ git init -q
5
+
6
+ git checkout -b main
7
+ touch this
8
+ git add this
9
+ git commit -q -m c1
10
+ echo hello >> this
11
+ git commit -q -am c2
12
+
13
+ git clone --ref-format=reftable . reftable-clone
Original file line number Diff line number Diff line change @@ -55,6 +55,33 @@ fn on_root_with_decomposed_unicode() -> crate::Result {
55
55
Ok ( ( ) )
56
56
}
57
57
58
+ #[ test]
59
+ fn non_bare_reftable ( ) -> crate :: Result {
60
+ let repo = match named_subrepo_opts (
61
+ "make_reftable_repo.sh" ,
62
+ "reftable-clone" ,
63
+ gix:: open:: Options :: isolated ( ) ,
64
+ ) {
65
+ Ok ( r) => r,
66
+ Err ( _) if * gix_testtools:: GIT_VERSION < ( 2 , 44 , 0 ) => {
67
+ eprintln ! ( "Fixture script failure ignored as it looks like Git isn't recent enough." ) ;
68
+ return Ok ( ( ) ) ;
69
+ }
70
+ Err ( err) => panic ! ( "{err}" ) ,
71
+ } ;
72
+ assert ! (
73
+ repo. head_id( ) . is_err( ) ,
74
+ "Trying to do anything with head will fail as we don't support reftables yet"
75
+ ) ;
76
+ assert ! ( !repo. is_bare( ) ) ;
77
+ assert_ne ! (
78
+ repo. workdir( ) ,
79
+ None ,
80
+ "Otherwise it can be used, but it's hard to do without refs"
81
+ ) ;
82
+ Ok ( ( ) )
83
+ }
84
+
58
85
#[ test]
59
86
fn bare_repo_with_index ( ) -> crate :: Result {
60
87
let repo = named_subrepo_opts (
Original file line number Diff line number Diff line change @@ -38,7 +38,9 @@ pub fn named_subrepo_opts(
38
38
name : & str ,
39
39
opts : open:: Options ,
40
40
) -> std:: result:: Result < Repository , gix:: open:: Error > {
41
- let repo_path = gix_testtools:: scripted_fixture_read_only ( fixture) . unwrap ( ) . join ( name) ;
41
+ let repo_path = gix_testtools:: scripted_fixture_read_only ( fixture)
42
+ . map_err ( |err| gix:: open:: Error :: Io ( std:: io:: Error :: other ( err) ) ) ?
43
+ . join ( name) ;
42
44
Ok ( ThreadSafeRepository :: open_opts ( repo_path, opts) ?. to_thread_local ( ) )
43
45
}
44
46
You can’t perform that action at this time.
0 commit comments