diff options
-rw-r--r-- | src/git.rs | 10 | ||||
-rw-r--r-- | src/main.rs | 4 |
2 files changed, 12 insertions, 2 deletions
@@ -11,8 +11,16 @@ use std::path::Path; pub fn mirror<P: AsRef<Path>>( url: &str, path: P, + description: Option<&str>, ) -> Result<(), Box<dyn std::error::Error>> { - let repo = git2::Repository::init_bare(path)?; + let mut repo_init_options = git2::RepositoryInitOptions::new(); + repo_init_options.bare(true); + + if let Some(d) = description { + repo_init_options.description(d); + } + + let repo = git2::Repository::init_opts(path, &repo_init_options)?; let remote_name = "origin"; diff --git a/src/main.rs b/src/main.rs index 478ffab..89473ea 100644 --- a/src/main.rs +++ b/src/main.rs @@ -74,6 +74,7 @@ async fn main() { mirror( &repo.git_url, &clone_path, + repo.description.as_deref(), ).unwrap(); db.repo_insert(db_repo).await.unwrap(); @@ -88,12 +89,13 @@ async fn main() { fn mirror<P: AsRef<Path>>( url: &str, clone_path: P, + description: Option<&str>, ) -> Result<(), Box<dyn std::error::Error>> { // mirror database // update description // copy cgitrc - git::mirror(url, clone_path)?; + git::mirror(url, clone_path, description)?; Ok(()) } |