Merge branch 'jk/fail-show-toplevel-outside-working-tree'
"git rev-parse --show-toplevel" run outside of any working tree did not error out, which has been corrected. * jk/fail-show-toplevel-outside-working-tree: rev-parse: make --show-toplevel without a worktree an error
This commit is contained in:
commit
36fd304d81
@ -262,7 +262,8 @@ print a message to stderr and exit with nonzero status.
|
||||
directory.
|
||||
|
||||
--show-toplevel::
|
||||
Show the absolute path of the top-level directory.
|
||||
Show the absolute path of the top-level directory of the working
|
||||
tree. If there is no working tree, report an error.
|
||||
|
||||
--show-superproject-working-tree::
|
||||
Show the absolute path of the root of the superproject's
|
||||
|
@ -803,6 +803,8 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix)
|
||||
const char *work_tree = get_git_work_tree();
|
||||
if (work_tree)
|
||||
puts(work_tree);
|
||||
else
|
||||
die("this operation must be run in a work tree");
|
||||
continue;
|
||||
}
|
||||
if (!strcmp(arg, "--show-superproject-working-tree")) {
|
||||
|
@ -146,6 +146,16 @@ test_expect_success 'rev-parse --show-object-format in repo' '
|
||||
grep "unknown mode for --show-object-format: squeamish-ossifrage" err
|
||||
'
|
||||
|
||||
test_expect_success '--show-toplevel from subdir of working tree' '
|
||||
pwd >expect &&
|
||||
git -C sub/dir rev-parse --show-toplevel >actual &&
|
||||
test_cmp expect actual
|
||||
'
|
||||
|
||||
test_expect_success '--show-toplevel from inside .git' '
|
||||
test_must_fail git -C .git rev-parse --show-toplevel
|
||||
'
|
||||
|
||||
test_expect_success 'showing the superproject correctly' '
|
||||
git rev-parse --show-superproject-working-tree >out &&
|
||||
test_must_be_empty out &&
|
||||
|
Loading…
Reference in New Issue
Block a user