diff options
-rw-r--r-- | Documentation/core-tutorial.txt | 2 | ||||
-rw-r--r-- | Documentation/tutorial-2.txt | 2 | ||||
-rw-r--r-- | Documentation/tutorial.txt | 2 | ||||
-rw-r--r-- | builtin-init-db.c | 21 |
4 files changed, 17 insertions, 10 deletions
diff --git a/Documentation/core-tutorial.txt b/Documentation/core-tutorial.txt index 1c311590c..5ea611748 100644 --- a/Documentation/core-tutorial.txt +++ b/Documentation/core-tutorial.txt @@ -57,7 +57,7 @@ $ git-init-db to which git will reply ---------------- -defaulting to local storage area +Initialized empty Git repository in .git/ ---------------- which is just git's way of saying that you haven't been doing anything diff --git a/Documentation/tutorial-2.txt b/Documentation/tutorial-2.txt index 8606381e6..aa62e13de 100644 --- a/Documentation/tutorial-2.txt +++ b/Documentation/tutorial-2.txt @@ -18,7 +18,7 @@ Let's start a new project and create a small amount of history: $ mkdir test-project $ cd test-project $ git init-db -defaulting to local storage area +Initialized empty Git repository in .git/ $ echo 'hello world' > file.txt $ git add . $ git commit -a -m "initial commit" diff --git a/Documentation/tutorial.txt b/Documentation/tutorial.txt index 02dede320..cb808d924 100644 --- a/Documentation/tutorial.txt +++ b/Documentation/tutorial.txt @@ -38,7 +38,7 @@ $ git init-db Git will reply ------------------------------------------------ -defaulting to local storage area +Initialized empty Git repository in .git/ ------------------------------------------------ You've now initialized the working directory--you may notice a new diff --git a/builtin-init-db.c b/builtin-init-db.c index 235a0ee48..8f2b7500d 100644 --- a/builtin-init-db.c +++ b/builtin-init-db.c @@ -164,13 +164,14 @@ static void copy_templates(const char *git_dir, int len, const char *template_di closedir(dir); } -static void create_default_files(const char *git_dir, const char *template_path) +static int create_default_files(const char *git_dir, const char *template_path) { unsigned len = strlen(git_dir); static char path[PATH_MAX]; unsigned char sha1[20]; struct stat st1; char repo_version_string[10]; + int reinit; if (len > sizeof(path)-50) die("insane git directory %s", git_dir); @@ -218,7 +219,8 @@ static void create_default_files(const char *git_dir, const char *template_path) * branch, if it does not exist yet. */ strcpy(path + len, "HEAD"); - if (read_ref("HEAD", sha1) < 0) { + reinit = !read_ref("HEAD", sha1); + if (!reinit) { if (create_symref("HEAD", "refs/heads/master") < 0) exit(1); } @@ -239,6 +241,8 @@ static void create_default_files(const char *git_dir, const char *template_path) git_config_set("core.filemode", filemode ? "true" : "false"); } + + return reinit; } static const char init_db_usage[] = @@ -256,7 +260,7 @@ int cmd_init_db(int argc, const char **argv, const char *prefix) const char *sha1_dir; const char *template_dir = NULL; char *path; - int len, i; + int len, i, reinit; for (i = 1; i < argc; i++, argv++) { const char *arg = argv[1]; @@ -274,10 +278,8 @@ int cmd_init_db(int argc, const char **argv, const char *prefix) * Set up the default .git directory contents */ git_dir = getenv(GIT_DIR_ENVIRONMENT); - if (!git_dir) { + if (!git_dir) git_dir = DEFAULT_GIT_DIR_ENVIRONMENT; - fprintf(stderr, "defaulting to local storage area\n"); - } safe_create_dir(git_dir, 0); /* Check to see if the repository version is right. @@ -287,7 +289,7 @@ int cmd_init_db(int argc, const char **argv, const char *prefix) */ check_repository_format(); - create_default_files(git_dir, template_dir); + reinit = create_default_files(git_dir, template_dir); /* * And set up the object store. @@ -314,5 +316,10 @@ int cmd_init_db(int argc, const char **argv, const char *prefix) git_config_set("receive.denyNonFastforwards", "true"); } + printf("%s%s Git repository in %s/\n", + reinit ? "Reinitialized existing" : "Initialized empty", + shared_repository ? " shared" : "", + git_dir); + return 0; } |