From 6d9ba67b0fc2f18c1d7a65514edbdcdf86429c1c Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 23 Jan 2007 13:30:20 +0100 Subject: Commands requiring a work tree must not run in GIT_DIR This patch helps when you accidentally run something like git-clean in the git directory instead of the work tree. Signed-off-by: Johannes Schindelin Signed-off-by: Junio C Hamano --- git.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'git.c') diff --git a/git.c b/git.c index fb03a547de..82a8357272 100644 --- a/git.c +++ b/git.c @@ -299,8 +299,9 @@ static void handle_internal_command(int argc, const char **argv, char **envp) prefix = setup_git_directory(); if (p->option & USE_PAGER) setup_pager(); - if ((p->option & NOT_BARE) && is_bare_repository()) - die("%s cannot be used in a bare git directory", cmd); + if ((p->option & NOT_BARE) && + (is_bare_repository() || is_inside_git_dir())) + die("%s must be run in a work tree", cmd); trace_argv_printf(argv, argc, "trace: built-in: git"); exit(p->fn(argc, argv, prefix)); -- cgit 1.2.3-korg