summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmily Shaffer <emilyshaffer@google.com>2020-02-15 01:00:13 (GMT)
committerJunio C Hamano <gitster@pobox.com>2020-02-16 23:32:59 (GMT)
commite0020b2f82910f50bc697d86aff70c3796fbdc41 (patch)
treecb295d6880e853174a356d9f6f2daee86683c872
parentd0654dc308b0ba76dd8ed7bbb33c8d8f7aacd783 (diff)
downloadgit-e0020b2f82910f50bc697d86aff70c3796fbdc41.zip
git-e0020b2f82910f50bc697d86aff70c3796fbdc41.tar.gz
git-e0020b2f82910f50bc697d86aff70c3796fbdc41.tar.bz2
prefix_path: show gitdir when arg is outside repo
When developing a script, it can be painful to understand why Git thinks something is outside the current repo, if the current repo isn't what the user thinks it is. Since this can be tricky to diagnose, especially in cases like submodules or nested worktrees, let's give the user a hint about which repository is offended about that path. Signed-off-by: Emily Shaffer <emilyshaffer@google.com> Acked-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--pathspec.c3
-rw-r--r--setup.c3
2 files changed, 4 insertions, 2 deletions
diff --git a/pathspec.c b/pathspec.c
index 128f27f..166d255 100644
--- a/pathspec.c
+++ b/pathspec.c
@@ -439,7 +439,8 @@ static void init_pathspec_item(struct pathspec_item *item, unsigned flags,
match = prefix_path_gently(prefix, prefixlen,
&prefixlen, copyfrom);
if (!match)
- die(_("%s: '%s' is outside repository"), elt, copyfrom);
+ die(_("%s: '%s' is outside repository at '%s'"), elt,
+ copyfrom, absolute_path(get_git_work_tree()));
}
item->match = match;
diff --git a/setup.c b/setup.c
index e2a479a..17814a0 100644
--- a/setup.c
+++ b/setup.c
@@ -121,7 +121,8 @@ char *prefix_path(const char *prefix, int len, const char *path)
{
char *r = prefix_path_gently(prefix, len, NULL, path);
if (!r)
- die(_("'%s' is outside repository"), path);
+ die(_("'%s' is outside repository at '%s'"), path,
+ absolute_path(get_git_work_tree()));
return r;
}