vcs2git 0.4.0

Import VCS .repos as Git submodules
use indexmap::IndexMap;
use serde::{Deserialize, Serialize};
use std::path::PathBuf;
use url::Url;

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ReposFile {
    pub repositories: IndexMap<PathBuf, Repo>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Repo {
    pub r#type: RepoType,
    pub url: Url,
    pub version: String,
}

#[derive(Debug, Clone, PartialEq, Eq, Hash, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum RepoType {
    Git,
    #[serde(untagged)]
    Unknown(String),
}