Merge branch 'nd/export-worktree'
Running an aliased command from a subdirectory when the .git thing in the working tree is a gitfile pointing elsewhere did not work. * nd/export-worktree: setup: set env $GIT_WORK_TREE when work tree is set, like $GIT_DIR
This commit is contained in:
commit
a3f4eb1b40
@ -237,6 +237,8 @@ void set_git_work_tree(const char *new_work_tree)
|
||||
}
|
||||
git_work_tree_initialized = 1;
|
||||
work_tree = xstrdup(real_path(new_work_tree));
|
||||
if (setenv(GIT_WORK_TREE_ENVIRONMENT, work_tree, 1))
|
||||
die("could not set GIT_WORK_TREE to '%s'", work_tree);
|
||||
}
|
||||
|
||||
const char *get_git_work_tree(void)
|
||||
|
@ -99,4 +99,21 @@ test_expect_success 'check rev-list' '
|
||||
test "$SHA" = "$(git rev-list HEAD)"
|
||||
'
|
||||
|
||||
test_expect_success 'setup_git_dir twice in subdir' '
|
||||
git init sgd &&
|
||||
(
|
||||
cd sgd &&
|
||||
git config alias.lsfi ls-files &&
|
||||
mv .git .realgit &&
|
||||
echo "gitdir: .realgit" >.git &&
|
||||
mkdir subdir &&
|
||||
cd subdir &&
|
||||
>foo &&
|
||||
git add foo &&
|
||||
git lsfi >actual &&
|
||||
echo foo >expected &&
|
||||
test_cmp expected actual
|
||||
)
|
||||
'
|
||||
|
||||
test_done
|
||||
|
Loading…
Reference in New Issue
Block a user