@@ -7,7 +7,7 @@ use quick_error::quick_error;
77use std:: convert:: TryFrom ;
88use std:: fs;
99use std:: fs:: create_dir_all;
10- use std:: path:: Path ;
10+ use std:: path:: { Path , PathBuf } ;
1111use std:: time:: Duration ;
1212
1313#[ cfg( unix) ]
@@ -16,23 +16,23 @@ use std::os::unix::fs::PermissionsExt;
1616quick_error ! {
1717 #[ derive( Debug ) ]
1818 pub enum Error {
19- Utf8Error ( err: git_object:: bstr:: Utf8Error ) {
19+ Utf8 ( err: git_object:: bstr:: Utf8Error ) {
2020 from( )
2121 display( "Could not convert path to UTF8: {}" , err)
2222 }
23- TimeError ( err: std:: time:: SystemTimeError ) {
23+ Time ( err: std:: time:: SystemTimeError ) {
2424 from( )
2525 display( "Could not read file time in proper format: {}" , err)
2626 }
27- ToU32Error ( err: std:: num:: TryFromIntError ) {
27+ U32Conversion ( err: std:: num:: TryFromIntError ) {
2828 from( )
2929 display( "Could not convert seconds to u32: {}" , err)
3030 }
31- IoError ( err: std:: io:: Error ) {
31+ Io ( err: std:: io:: Error ) {
3232 from( )
3333 display( "IO error while writing blob or reading file metadata or changing filetype: {}" , err)
3434 }
35- FindOidError ( oid: git_hash:: ObjectId , path: std :: path :: PathBuf ) {
35+ NotFound ( oid: git_hash:: ObjectId , path: PathBuf ) {
3636 display( "unable to read sha1 file of {} ({})" , path. display( ) , oid. to_hex( ) )
3737 }
3838 }
5656 create_dir_all ( dest. parent ( ) . expect ( "entry paths are never empty" ) ) ?;
5757 match entry. mode {
5858 git_index:: entry:: Mode :: FILE | git_index:: entry:: Mode :: FILE_EXECUTABLE => {
59- let obj = find ( & entry. id , & mut buf) . ok_or_else ( || Error :: FindOidError ( entry. id , path. to_path_buf ( ) ) ) ?;
59+ let obj = find ( & entry. id , & mut buf) . ok_or_else ( || Error :: NotFound ( entry. id , path. to_path_buf ( ) ) ) ?;
6060 std:: fs:: write ( & dest, obj. data ) ?;
6161 if entry. mode == git_index:: entry:: Mode :: FILE_EXECUTABLE {
6262 #[ cfg( unix) ]
7272 entry_time. push ( ( ctime?, mtime?, i) ) ;
7373 }
7474 git_index:: entry:: Mode :: SYMLINK => {
75- let obj = find ( & entry. id , & mut buf) . unwrap ( ) ;
75+ let obj = find ( & entry. id , & mut buf) . ok_or_else ( || Error :: NotFound ( entry . id , path . to_path_buf ( ) ) ) ? ;
7676 let linked_to = obj. data . to_path ( ) ?;
7777 if opts. symlinks {
7878 #[ cfg( unix) ]
0 commit comments