Merge branch 'nd/export-worktree' into maint
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
25a294e44d
@ -231,6 +231,8 @@ void set_git_work_tree(const char *new_work_tree)
|
|||||||
}
|
}
|
||||||
git_work_tree_initialized = 1;
|
git_work_tree_initialized = 1;
|
||||||
work_tree = xstrdup(real_path(new_work_tree));
|
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)
|
const char *get_git_work_tree(void)
|
||||||
|
@ -99,4 +99,21 @@ test_expect_success 'check rev-list' '
|
|||||||
test "$SHA" = "$(git rev-list HEAD)"
|
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
|
test_done
|
||||||
|
Loading…
Reference in New Issue
Block a user