Compare commits
No commits in common. "a3c4a5f2dd375b8b26c36cec8c4670ca50f2412b" and "f572d6d8b2cf2d5d1e2ae335c46506ec6ae6dd54" have entirely different histories.
a3c4a5f2dd
...
f572d6d8b2
|
@ -13,7 +13,7 @@ pub struct Config {
|
||||||
pub repositories: Vec<Repository>,
|
pub repositories: Vec<Repository>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Eq, PartialEq, Serialize, Deserialize)]
|
#[derive(Debug, Serialize, Deserialize)]
|
||||||
/// The internal representation of a single repository
|
/// The internal representation of a single repository
|
||||||
pub struct Repository {
|
pub struct Repository {
|
||||||
name: String,
|
name: String,
|
||||||
|
|
28
src/lib.rs
28
src/lib.rs
|
@ -1,7 +1,7 @@
|
||||||
pub mod config;
|
pub mod config;
|
||||||
use config::{Config, Repository};
|
use config::{Config, Repository};
|
||||||
use std::env;
|
|
||||||
use std::error::Error;
|
use std::error::Error;
|
||||||
|
use std::env;
|
||||||
|
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
/// Holds the current state of the application.
|
/// Holds the current state of the application.
|
||||||
|
@ -19,7 +19,6 @@ pub struct State {
|
||||||
enum Cmd {
|
enum Cmd {
|
||||||
Add,
|
Add,
|
||||||
Help,
|
Help,
|
||||||
Fetch,
|
|
||||||
DumpConfig,
|
DumpConfig,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,19 +80,10 @@ impl State {
|
||||||
_ => {}
|
_ => {}
|
||||||
},
|
},
|
||||||
None => {
|
None => {
|
||||||
eprintln!("No URL provided for command\n");
|
eprintln!("No URL provided for \'number\' command\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// fetch command
|
|
||||||
else if x == "fetch" {
|
|
||||||
match state.cmd {
|
|
||||||
None => {
|
|
||||||
state.cmd = Some(Cmd::Fetch);
|
|
||||||
}
|
|
||||||
_ => {}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
arg = args.next();
|
arg = args.next();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,17 +106,11 @@ pub fn run(state: State, mut config: Config) -> Result<(), Box<dyn Error>> {
|
||||||
println!("{}", config.to_string().unwrap());
|
println!("{}", config.to_string().unwrap());
|
||||||
}
|
}
|
||||||
Some(Cmd::Add) => {
|
Some(Cmd::Add) => {
|
||||||
let repo = Repository::new(match state.url {
|
config.repositories.push(Repository::new(match state.url {
|
||||||
Some(x) => x,
|
Some(x) => x,
|
||||||
None => String::new(),
|
None => String::new(),
|
||||||
});
|
}));
|
||||||
if let None = config.repositories.iter().find(|x| **x == repo) {
|
config.save_config()?;
|
||||||
config.repositories.push(repo);
|
|
||||||
config.save_config()?;
|
|
||||||
println!("Repository has been added");
|
|
||||||
} else {
|
|
||||||
println!("Repository is already being tracked");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
Some(x) => {
|
Some(x) => {
|
||||||
println!("{:?} hasn't been implemented yet!", x)
|
println!("{:?} hasn't been implemented yet!", x)
|
||||||
|
@ -153,7 +137,7 @@ General
|
||||||
help Print out this help message
|
help Print out this help message
|
||||||
|
|
||||||
Manage Repositories
|
Manage Repositories
|
||||||
add Add another git repo to keep track of
|
clone Add another git repo to keep track of
|
||||||
fetch Update currently tracked repos"
|
fetch Update currently tracked repos"
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue