facti 0.2.3

Factorio mod tool
use std::path::{Path, PathBuf};

use anyhow::Result;

pub mod git;

pub trait Vcs {
    /// Initializes a new VCS repository at the given path.
    fn init(path: &Path) -> Result<()>;

    /// Checks if the given path is part of a VCS repository.
    fn check(path: &Path) -> Result<Option<PathBuf>>;

    /// Resolves the configured user name, if set.
    fn user_name() -> Result<Option<String>>;

    /// Resolves the configured user email, if set.
    fn user_email() -> Result<Option<String>>;
}