@@ -31,30 +31,24 @@ pub struct Commit<'data> {
31
31
pub fn parse_message ( i : & [ u8 ] ) -> IResult < & [ u8 ] , & BStr , Error > {
32
32
if i. is_empty ( ) {
33
33
// newline + [message]
34
- return Err ( nom:: Err :: Error ( Error :: NomDetail (
35
- i. into ( ) ,
36
- "commit message is missing" ,
37
- ) ) ) ;
34
+ return Err ( nom:: Err :: Error ( Error :: NomDetail ( i. into ( ) , "commit message is missing" ) ) ) ;
38
35
}
39
- let ( i, _) = tag ( NL ) ( i) . map_err ( Error :: context (
40
- "a newline separates headers from the message" ,
41
- ) ) ?;
36
+ let ( i, _) = tag ( NL ) ( i) . map_err ( Error :: context ( "a newline separates headers from the message" ) ) ?;
42
37
debug_assert ! ( !i. is_empty( ) ) ;
43
38
Ok ( ( & [ ] , & i. as_bstr ( ) ) )
44
39
}
45
40
46
41
pub fn parse ( i : & [ u8 ] ) -> IResult < & [ u8 ] , Commit , Error > {
47
- let ( i, tree) = parse_header_field ( i, b"tree" , parse_hex_sha1)
48
- . map_err ( Error :: context ( "tree <40 lowercase hex char>" ) ) ?;
49
- let ( i, parents) = many0 ( |i| parse_header_field ( i, b"parent" , parse_hex_sha1) ) ( i) . map_err (
50
- Error :: context ( "zero or more 'parent <40 lowercase hex char>'" ) ,
51
- ) ?;
52
- let ( i, author) = parse_header_field ( i, b"author" , parse_signature)
53
- . map_err ( Error :: context ( "author <signature>" ) ) ?;
54
- let ( i, committer) = parse_header_field ( i, b"committer" , parse_signature)
55
- . map_err ( Error :: context ( "author <signature>" ) ) ?;
56
- let ( i, encoding) = opt ( |i| parse_header_field ( i, b"encoding" , is_not ( NL ) ) ) ( i)
57
- . map_err ( Error :: context ( "author <signature>" ) ) ?;
42
+ let ( i, tree) =
43
+ parse_header_field ( i, b"tree" , parse_hex_sha1) . map_err ( Error :: context ( "tree <40 lowercase hex char>" ) ) ?;
44
+ let ( i, parents) = many0 ( |i| parse_header_field ( i, b"parent" , parse_hex_sha1) ) ( i)
45
+ . map_err ( Error :: context ( "zero or more 'parent <40 lowercase hex char>'" ) ) ?;
46
+ let ( i, author) =
47
+ parse_header_field ( i, b"author" , parse_signature) . map_err ( Error :: context ( "author <signature>" ) ) ?;
48
+ let ( i, committer) =
49
+ parse_header_field ( i, b"committer" , parse_signature) . map_err ( Error :: context ( "author <signature>" ) ) ?;
50
+ let ( i, encoding) =
51
+ opt ( |i| parse_header_field ( i, b"encoding" , is_not ( NL ) ) ) ( i) . map_err ( Error :: context ( "author <signature>" ) ) ?;
58
52
let ( i, pgp_signature) = opt ( alt ( (
59
53
|i| parse_header_field_multiline ( i, b"gpgsig" ) ,
60
54
|i| parse_header_field ( i, b"gpgsig" , is_not ( NL ) ) ,
0 commit comments