diff --git a/src/main.rs b/src/main.rs
index 09b3e6a..fd33032 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -10,14 +10,26 @@ struct PersistableRepo {
}
fn main() -> anyhow::Result<()> {
- let dir = match std::env::args().nth(1) {
+ let dir = match std::env::args().nth(2) {
Some(d) => d,
None => {
- println!("Usage:\n gitice
\n");
+ println!("Usage:\n gitice \n");
return Ok(());
}
};
+ // temporary solution to support both freezing and thawing
+ match std::env::args().nth(1).as_ref().map(|s| &s[..]) {
+ Some("freeze") => freeze_repos(dir),
+ Some("thaw") => thaw_repos(dir),
+ _ => {
+ println!("Usage:\n gitice \n");
+ Ok(())
+ }
+ }
+}
+
+fn freeze_repos(dir: String) -> anyhow::Result<()> {
let mut repos: HashMap = HashMap::new();
for entry in WalkDir::new(dir.clone()).into_iter().filter_map(|e| e.ok()) {
if entry.file_type().is_dir() {
@@ -60,3 +72,7 @@ fn main() -> anyhow::Result<()> {
fs::write("gitice.lock", toml::to_string(&repos)?).expect("could not write to lockfile!");
Ok(())
}
+
+fn thaw_repos(_dir: String) -> anyhow::Result<()> {
+ Ok(())
+}
\ No newline at end of file