use std::{fs, path::Path};
pub fn create_repository() {
let folder_name = ".xit";
let git_dir = Path::new(folder_name);
if git_dir.is_dir() {
println!("Xit Exists");
return;
}
fs::create_dir_all(git_dir.join("objects")).expect("Failed to create objects directory");
fs::create_dir_all(git_dir.join("refs/heads")).expect("Failed to create refs/heads directory");
fs::create_dir_all(git_dir.join("refs/tags")).expect("Failed to create refs/tags directory");
let head_content = "ref: refs/heads/main\n";
fs::write(git_dir.join("HEAD"), head_content).expect("Failed to write HEAD file");
let config_content =
"[core]\n\trepositoryformatversion = 0\n\tfilemode = true\n\tbare = false\n";
fs::write(git_dir.join("config"), config_content).expect("Failed to write config file");
}