@@ -60,14 +60,15 @@ pub fn commit<'objects>(
6060 |commit_id : gix_hash:: ObjectId | objects. find_commit ( & commit_id, & mut state. buf1 ) . map ( |c| c. tree ( ) ) ;
6161
6262 let ( merge_base_tree_id, ancestor_name) : ( _ , Cow < ' _ , str > ) = match merge_bases. clone ( ) {
63- Some ( base_commit) if base_commit. len ( ) == 1 => {
64- ( commit_to_tree ( base_commit[ 0 ] ) ?, abbreviate_hash ( & base_commit[ 0 ] ) . into ( ) )
65- }
66- Some ( mut base_commits) => {
63+ Some ( base_commit) if base_commit. len ( ) == 1 => (
64+ commit_to_tree ( * base_commit. first ( ) ) ?,
65+ abbreviate_hash ( base_commit. first ( ) ) . into ( ) ,
66+ ) ,
67+ Some ( base_commits) => {
6768 let virtual_base_tree = if options. use_first_merge_base {
68- let first = base_commits. first ( ) . expect ( "if Some() there is at least one." ) ;
69- commit_to_tree ( * first) ?
69+ commit_to_tree ( * base_commits. first ( ) ) ?
7070 } else {
71+ let mut base_commits: Vec < _ > = base_commits. into ( ) ;
7172 let first = base_commits. pop ( ) . expect ( "at least two" ) ;
7273 let second = base_commits. pop ( ) . expect ( "at least one left" ) ;
7374 let out = crate :: commit:: virtual_merge_base (
@@ -81,7 +82,7 @@ pub fn commit<'objects>(
8182 abbreviate_hash,
8283 options. tree_merge . clone ( ) ,
8384 ) ?;
84- virtual_merge_bases = out. virtual_merge_bases ;
85+ virtual_merge_bases = Vec :: from ( out. virtual_merge_bases ) ;
8586 out. tree_id
8687 } ;
8788 ( virtual_base_tree, "merged common ancestors" . into ( ) )
0 commit comments