aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/git.rs32
-rw-r--r--src/lib.rs1
-rw-r--r--src/main.rs8
3 files changed, 38 insertions, 3 deletions
diff --git a/src/git.rs b/src/git.rs
new file mode 100644
index 0000000..d58da3c
--- /dev/null
+++ b/src/git.rs
@@ -0,0 +1,32 @@
+use std::path::Path;
+
+
+pub fn mirror() -> Result<(), Box<dyn std::error::Error>> {
+ // let builder = git2::build::RepoBuilder::new()
+ // .bare(true)
+ // .clone(
+ // "https://github.com/teddywing/google-calendar-rsvp.git",
+ // Path::new("/tmp/grsvp"),
+ // );
+
+ let repo = git2::Repository::init_bare(Path::new("/tmp/grsvp"))?;
+
+ let remote_name = "origin";
+
+ let mut remote = repo.remote_with_fetch(
+ remote_name,
+ "https://github.com/teddywing/google-calendar-rsvp.git",
+ "+refs/*:refs/*",
+ )?;
+
+ let mut config = repo.config()?;
+ config.set_bool(
+ &format!("remote.{}.mirror", remote_name),
+ true,
+ )?;
+
+ let refspecs: [&str; 0] = [];
+ remote.fetch(&refspecs, None, None)?;
+
+ Ok(())
+}
diff --git a/src/lib.rs b/src/lib.rs
index fe2cab4..881cebb 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,2 +1,3 @@
+pub mod git;
pub mod github;
pub mod repo;
diff --git a/src/main.rs b/src/main.rs
index ea540e6..994c86f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -1,8 +1,10 @@
-use reflectub::github;
+use reflectub::{git, github};
fn main() {
- let repos = github::fetch_repos().unwrap();
+ // let repos = github::fetch_repos().unwrap();
+ //
+ // dbg!(&repos);
- dbg!(&repos);
+ git::mirror().unwrap();
}