aboutsummaryrefslogtreecommitdiffstats
path: root/setup.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2020-03-16 12:43:29 -0700
committerJunio C Hamano <gitster@pobox.com>2020-03-16 12:43:29 -0700
commite96327c94799460e02b38b242995eab0600ebbd6 (patch)
tree258a6686b3473520de72d6ba6ea215bd3f7620d7 /setup.c
parent30e9940356dc67959877f4b2417da33ebdefbb79 (diff)
parent5c20398699165a91af2d81ea2d20385bc8dd3627 (diff)
downloadgit-e96327c94799460e02b38b242995eab0600ebbd6.tar.gz
Merge branch 'es/outside-repo-errmsg-hints'
An earlier update to show the location of working tree in the error message did not consider the possibility that a git command may be run in a bare repository, which has been corrected. * es/outside-repo-errmsg-hints: prefix_path: show gitdir if worktree unavailable
Diffstat (limited to 'setup.c')
-rw-r--r--setup.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/setup.c b/setup.c
index 4ea7a0b081..5ea9285a12 100644
--- a/setup.c
+++ b/setup.c
@@ -120,9 +120,13 @@ char *prefix_path_gently(const char *prefix, int len,
char *prefix_path(const char *prefix, int len, const char *path)
{
char *r = prefix_path_gently(prefix, len, NULL, path);
- if (!r)
+ if (!r) {
+ const char *hint_path = get_git_work_tree();
+ if (!hint_path)
+ hint_path = get_git_dir();
die(_("'%s' is outside repository at '%s'"), path,
- absolute_path(get_git_work_tree()));
+ absolute_path(hint_path));
+ }
return r;
}