File tree Expand file tree Collapse file tree 2 files changed +18
-1
lines changed
Expand file tree Collapse file tree 2 files changed +18
-1
lines changed Original file line number Diff line number Diff line change @@ -111,7 +111,7 @@ impl EntryMode {
111111 }
112112
113113 // Happy path: space is at index 6
114- let space_pos = if i. get ( 6 ) == Some ( & b' ' ) {
114+ let space_pos = if i. get ( 6 ) == Some ( & b' ' ) && i . get ( 5 ) != Some ( & b' ' ) {
115115 for b in i. iter ( ) . take ( 6 ) {
116116 let b = b. wrapping_sub ( b'0' ) as u16 ;
117117 // Not a pure octal input.
Original file line number Diff line number Diff line change @@ -76,6 +76,23 @@ fn everything() -> crate::Result {
7676 Ok ( ( ) )
7777}
7878
79+ #[ test]
80+ fn leading_space_in_tree_name ( ) -> crate :: Result {
81+ let oid = hex_to_id ( "4d5fcadc293a348e88f777dc0920f11e7d71441c" ) ;
82+ let mut buf = b"40000 leading space\0 " . to_vec ( ) ;
83+ buf. extend_from_slice ( oid. as_bytes ( ) ) ;
84+
85+ assert_eq ! (
86+ TreeRefIter :: from_bytes( & buf) . collect:: <Result <Vec <_>, _>>( ) ?,
87+ vec![ EntryRef {
88+ mode: tree:: EntryKind :: Tree . into( ) ,
89+ filename: b" leading space" . as_bstr( ) ,
90+ oid: oid. as_ref( ) ,
91+ } ]
92+ ) ;
93+ Ok ( ( ) )
94+ }
95+
7996mod lookup_entry {
8097 use gix_object:: tree:: EntryKind ;
8198 use utils:: entry;
You can’t perform that action at this time.
0 commit comments