rev-parse: introduce --is-bare-repository
Signed-off-by: Matthias Lederhofer <matled@gmx.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
4faac2468d
commit
493c774e58
|
@ -93,6 +93,9 @@ OPTIONS
|
||||||
When the current working directory is below the repository
|
When the current working directory is below the repository
|
||||||
directory print "true", otherwise "false".
|
directory print "true", otherwise "false".
|
||||||
|
|
||||||
|
--is-bare-repository::
|
||||||
|
When the repository is bare print "true", otherwise "false".
|
||||||
|
|
||||||
--short, --short=number::
|
--short, --short=number::
|
||||||
Instead of outputting the full SHA1 values of object names try to
|
Instead of outputting the full SHA1 values of object names try to
|
||||||
abbreviate them to a shorter unique name. When no length is specified
|
abbreviate them to a shorter unique name. When no length is specified
|
||||||
|
|
|
@ -352,6 +352,11 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
|
||||||
: "false");
|
: "false");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if (!strcmp(arg, "--is-bare-repository")) {
|
||||||
|
printf("%s\n", is_bare_repository() ? "true"
|
||||||
|
: "false");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if (!prefixcmp(arg, "--since=")) {
|
if (!prefixcmp(arg, "--since=")) {
|
||||||
show_datestring("--max-age=", arg+8);
|
show_datestring("--max-age=", arg+8);
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -29,11 +29,7 @@ set_reflog_action() {
|
||||||
}
|
}
|
||||||
|
|
||||||
is_bare_repository () {
|
is_bare_repository () {
|
||||||
git-config --bool --get core.bare ||
|
git-rev-parse --is-bare-repository
|
||||||
case "$GIT_DIR" in
|
|
||||||
.git | */.git) echo false ;;
|
|
||||||
*) echo true ;;
|
|
||||||
esac
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cd_to_toplevel () {
|
cd_to_toplevel () {
|
||||||
|
|
|
@ -594,8 +594,7 @@ sub post_fetch_checkout {
|
||||||
my $index = $ENV{GIT_INDEX_FILE} || "$ENV{GIT_DIR}/index";
|
my $index = $ENV{GIT_INDEX_FILE} || "$ENV{GIT_DIR}/index";
|
||||||
return if -f $index;
|
return if -f $index;
|
||||||
|
|
||||||
chomp(my $bare = `git config --bool --get core.bare`);
|
return if command_oneline(qw/rev-parse --is-bare-repository/) eq 'true';
|
||||||
return if $bare eq 'true';
|
|
||||||
return if command_oneline(qw/rev-parse --is-inside-git-dir/) eq 'true';
|
return if command_oneline(qw/rev-parse --is-inside-git-dir/) eq 'true';
|
||||||
command_noisy(qw/read-tree -m -u -v HEAD HEAD/);
|
command_noisy(qw/read-tree -m -u -v HEAD HEAD/);
|
||||||
print STDERR "Checked out HEAD:\n ",
|
print STDERR "Checked out HEAD:\n ",
|
||||||
|
|
Loading…
Reference in New Issue