write no empty commits
This commit is contained in:
parent
39a30c03ef
commit
6b84c819fe
42
src/main.rs
42
src/main.rs
@ -752,29 +752,39 @@ async fn write_commit(config:WriteCommitConfig,b:Result<AResult<(AssetVersion,De
|
|||||||
let tree_id={
|
let tree_id={
|
||||||
let mut tree_index = repo.index()?;
|
let mut tree_index = repo.index()?;
|
||||||
tree_index.add_all([config.output_folder].iter(),git2::IndexAddOption::DEFAULT,None)?;
|
tree_index.add_all([config.output_folder].iter(),git2::IndexAddOption::DEFAULT,None)?;
|
||||||
|
if tree_index.len()==0{
|
||||||
|
println!("tree_index.len()==0");
|
||||||
|
return Ok(());
|
||||||
|
}
|
||||||
tree_index.write_tree()?
|
tree_index.write_tree()?
|
||||||
};
|
};
|
||||||
let tree=repo.find_tree(tree_id)?;
|
let tree=repo.find_tree(tree_id)?;
|
||||||
|
|
||||||
|
let mut parents=Vec::new();
|
||||||
|
|
||||||
match repo.head(){
|
match repo.head(){
|
||||||
Ok(reference)=>repo.commit(
|
Ok(reference)=>{
|
||||||
Some("HEAD"),//update_ref
|
let commit=reference.peel_to_commit()?;
|
||||||
&sig,//author
|
let commit_tree=commit.tree()?;
|
||||||
&sig,//commiter
|
let diff=repo.diff_tree_to_tree(Some(&commit_tree),Some(&tree),None)?;
|
||||||
&format!("v{}", asset_version.assetVersionNumber),//message
|
if diff.deltas().count()==0{
|
||||||
&tree,//tree (basically files)
|
println!("no changes");
|
||||||
&[&reference.peel_to_commit()?],//parents
|
return Ok(());
|
||||||
)?,
|
}
|
||||||
Err(_)=>repo.commit(
|
parents.push(commit);
|
||||||
Some("HEAD"),//update_ref
|
},
|
||||||
&sig,//author
|
Err(e)=>println!("repo head error {:?}",e),
|
||||||
&sig,//commiter
|
|
||||||
&format!("v{}", asset_version.assetVersionNumber),//message
|
|
||||||
&tree,//tree (basically files)
|
|
||||||
&[],//parents
|
|
||||||
)?,
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
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
|
//commit
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user