diff --git a/src/main.rs b/src/main.rs index b8c0e63..45d5bad 100644 --- a/src/main.rs +++ b/src/main.rs @@ -756,25 +756,22 @@ async fn write_commit(config:WriteCommitConfig,b:Result<AResult<(AssetVersion,De }; let tree=repo.find_tree(tree_id)?; + let mut parents=Vec::new(); + match repo.head(){ - Ok(reference)=>repo.commit( - Some("HEAD"),//update_ref - &sig,//author - &sig,//commiter - &format!("v{}", asset_version.assetVersionNumber),//message - &tree,//tree (basically files) - &[&reference.peel_to_commit()?],//parents - )?, - Err(_)=>repo.commit( - Some("HEAD"),//update_ref - &sig,//author - &sig,//commiter - &format!("v{}", asset_version.assetVersionNumber),//message - &tree,//tree (basically files) - &[],//parents - )?, + Ok(reference)=>parents.push(reference.peel_to_commit()?), + Err(e)=>println!("repo head error {:?}",e), }; + repo.commit( + Some("HEAD"),//update_ref + &sig,//author + &sig,//commiter + &format!("v{}", asset_version.assetVersionNumber),//message + &tree,//tree (basically files) + parents.iter().collect::<Vec<&git2::Commit<'_>>>().as_slice(),//parents + )?; + //commit Ok(()) }