diff --git a/src/main.rs b/src/main.rs index 498f0a8..3738b85 100644 --- a/src/main.rs +++ b/src/main.rs @@ -853,7 +853,9 @@ async fn write_commit(config:WriteCommitConfig,b:Result<AResult<(AssetVersion,De time:gix::date::Time::new(asset_version.created.timestamp(),0), }; let tree_id={ - let mut tree_index = repo.index()?; + let mut tree = repo.index()?; + tree.index()?. + tree.peel_to_entry(path); tree_index.add_all([config.output_folder.as_path()].iter(),gix::IndexAddOption::DEFAULT,None)?; if tree_index.len()==0{ println!("tree_index.len()==0"); @@ -864,14 +866,12 @@ async fn write_commit(config:WriteCommitConfig,b:Result<AResult<(AssetVersion,De tree_index.write()?; tree_index.write_tree()? }; - let tree=repo.find_tree(tree_id)?; + let tree=repo.tree(tree_id)?; let mut parents=Vec::new(); - match repo.head(){ - Ok(reference)=>{ - let commit=reference.peel_to_commit_in_place()?; - + match repo.head_commit(){ + Ok(commit)=>{ //test tree against commit tree to see if there is any changes let commit_tree=commit.tree()?; let diff=repo.diff_resource_cache(Some(&commit_tree),Some(&tree),None)?; @@ -882,7 +882,10 @@ async fn write_commit(config:WriteCommitConfig,b:Result<AResult<(AssetVersion,De parents.push(commit.id()); }, - Err(e)=>println!("repo head error {:?}",e), + //If the repo head is not found, great, continue and make the first commit + Err(gix::reference::head_commit::Error::Head(gix::reference::find::existing::Error::NotFound))=>(), + //for other errors + Err(e)=>Err(e)?, }; repo.commit_as(