Currently, passing the `--bare' option to git-init proper doesn't work, and gives no indication that `git --bare init' would work instead: $ git init --bare usage: git-init [-q | --quiet] [--template=<template-directory>] [--shared] Treat the `--bare' option internally in builtin-init-db. Also, fix the usage string, synchronising it with the synopsis in the documentation. Signed-off-by: Luciano Rocha <strange@xxxxxx> --- Documentation/git-init.txt | 7 ++++++- builtin-init-db.c | 9 +++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) Parsing the --bare option correctly (AFAICS) was easier than I expected. Sorry, forgot the Signed-off-by line. diff --git a/Documentation/git-init.txt b/Documentation/git-init.txt index b17ae84..b48c312 100644 --- a/Documentation/git-init.txt +++ b/Documentation/git-init.txt @@ -8,7 +8,7 @@ git-init - Create an empty git repository or reinitialize an existing one SYNOPSIS -------- -'git-init' [-q | --quiet] [--template=<template_directory>] [--shared[=<permissions>]] +'git-init' [-q | --quiet] [--bare] [--template=<template_directory>] [--shared[=<permissions>]] OPTIONS @@ -20,6 +20,11 @@ OPTIONS Only print error and warning messages, all other output will be suppressed. +--bare:: + +Create a bare repository. If GIT_DIR environment is not set, it is set to the +current working directory. + --template=<template_directory>:: Provide the directory from which templates will be used. The default template diff --git a/builtin-init-db.c b/builtin-init-db.c index d8bdf92..e23b843 100644 --- a/builtin-init-db.c +++ b/builtin-init-db.c @@ -364,7 +364,7 @@ static int guess_repository_type(const char *git_dir) } static const char init_db_usage[] = -"git-init [-q | --quiet] [--template=<template-directory>] [--shared]"; +"git-init [-q | --quiet] [--bare] [--template=<template-directory>] [--shared[=<permissions>]]"; /* * If you want to, you can share the DB area with any number of branches. @@ -383,7 +383,12 @@ int cmd_init_db(int argc, const char **argv, const char *prefix) const char *arg = argv[1]; if (!prefixcmp(arg, "--template=")) template_dir = arg+11; - else if (!strcmp(arg, "--shared")) + else if (!strcmp(arg, "--bare")) { + static char git_dir[PATH_MAX+1]; + is_bare_repository_cfg = 1; + setenv(GIT_DIR_ENVIRONMENT, getcwd(git_dir, + sizeof(git_dir)), 0); + } else if (!strcmp(arg, "--shared")) shared_repository = PERM_GROUP; else if (!prefixcmp(arg, "--shared=")) shared_repository = git_config_perm("arg", arg+9); -- 1.5.6.rc0.41.gabae7.dirty
Attachment:
pgpb07nUP4Ado.pgp
Description: PGP signature