summaryrefslogtreecommitdiff
path: root/src/core.rs
diff options
context:
space:
mode:
authorRosyid Haryadi <rosyid_haryadi@protonmail.com>2025-03-15 20:24:23 +0700
committerRosyid Haryadi <rosyid_haryadi@protonmail.com>2025-03-15 20:24:23 +0700
commitc8e2b39ee7d3d650f741ce90d3f93fa8b97faa07 (patch)
treebd846e8e9228dec7d2e63b54f956f1db2783de76 /src/core.rs
parentb7f0a8a2b2961c04f022e8177c34dfb9d6ac7cc6 (diff)
feat: init subcommand
Diffstat (limited to 'src/core.rs')
-rw-r--r--src/core.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core.rs b/src/core.rs
index 3cc1a67..b074188 100644
--- a/src/core.rs
+++ b/src/core.rs
@@ -44,16 +44,17 @@ impl GitRepository {
pub fn create_new_repo(worktree: PathBuf) {
let repo = GitRepository::new(worktree);
- path_should_not_exist(&repo.worktree, "Already a git repository");
+ path_should_not_exist(&repo.gitdir, "Already a git repository");
create_path_or_die!(dir: repo.gitdir.clone(), "Failed to initialize repository");
create_path_or_die!(dir: repo.gitdir.clone().join("objects"), "Failed to create objects directory");
+ create_path_or_die!(dir: repo.gitdir.clone().join("refs"), "Failed to create refs directory");
create_path_or_die!(dir: repo.gitdir.clone().join("refs").join("heads"), "Failed to create git refs/head directory");
create_path_or_die!(dir: repo.gitdir.clone().join("refs").join("tags"), "Failed to create git refs/tags directory");
create_path_or_die!(file: repo.gitdir.clone().join("HEAD"), &"ref: refs/heads/master\n", "Failed to write HEAD file");
create_path_or_die!(
file: repo.gitdir.clone().join("HEAD"),
- "Unnamed repository; edit this file 'description' to name the repository.\n",
+ "ref: refs/heads/master\n",
"Failed to write description file");
let mut config = Ini::new();
@@ -64,5 +65,6 @@ impl GitRepository {
if let Err(_) = config.write(repo.gitdir.join("config")) {
die!("Failed to write config file");
}
+ println!("Git repository initialized in {}", repo.worktree.display());
}
} \ No newline at end of file