diff --git a/builtin-rev-parse.c b/builtin-rev-parse.c
index 71d51625957ac7851be9a528ed561158ae9f7f93..8d78b69c902a99738cfc337222ba71493ff45370 100644 (file)
--- a/builtin-rev-parse.c
+++ b/builtin-rev-parse.c
}
if (!strcmp(arg, "--show-cdup")) {
const char *pfx = prefix;
+ if (!is_inside_work_tree()) {
+ const char *work_tree =
+ get_git_work_tree();
+ if (work_tree)
+ printf("%s\n", work_tree);
+ continue;
+ }
while (pfx) {
pfx = strchr(pfx, '/');
if (pfx) {
: "false");
continue;
}
+ if (!strcmp(arg, "--is-inside-work-tree")) {
+ printf("%s\n", is_inside_work_tree() ? "true"
+ : "false");
+ continue;
+ }
if (!strcmp(arg, "--is-bare-repository")) {
printf("%s\n", is_bare_repository() ? "true"
: "false");