mirror of
https://github.com/git/git
synced 2024-08-24 18:26:02 +00:00
![Michael J Gruber](/assets/img/avatar_default.png)
"Work tree" or "working tree" is the name of a checked out tree, "worktree" the name of the command which manages several working trees. The naming of tests mixes these two, currently: $ls t/*worktree* t/t1501-worktree.sh t/t1509-root-worktree.sh t/t2025-worktree-add.sh t/t2026-worktree-prune.sh t/t2027-worktree-list.sh t/t2104-update-index-skip-worktree.sh t/t3320-notes-merge-worktrees.sh t/t7011-skip-worktree-reading.sh t/t7012-skip-worktree-writing.sh t/t7409-submodule-detached-worktree.sh $grep -l "git worktree" t/*.sh t/t0002-gitfile.sh t/t1400-update-ref.sh t/t2025-worktree-add.sh t/t2026-worktree-prune.sh t/t2027-worktree-list.sh t/t3320-notes-merge-worktrees.sh t/t7410-submodule-checkout-to.sh Rename t1501, t1509 and t7409 to make it clear on first glance that they test work tree related behavior, rather than the worktree command. t2104, t7011 and t7012 are about the "skip-worktree" flag so that their name should remain unchanged. Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
85 lines
1.9 KiB
Bash
Executable file
85 lines
1.9 KiB
Bash
Executable file
#!/bin/sh
|
|
#
|
|
# Copyright (c) 2012 Daniel Graña
|
|
#
|
|
|
|
test_description='Test submodules on detached working tree
|
|
|
|
This test verifies that "git submodule" initialization, update and addition works
|
|
on detahced working trees
|
|
'
|
|
|
|
TEST_NO_CREATE_REPO=1
|
|
. ./test-lib.sh
|
|
|
|
test_expect_success 'submodule on detached working tree' '
|
|
git init --bare remote &&
|
|
test_create_repo bundle1 &&
|
|
(
|
|
cd bundle1 &&
|
|
test_commit "shoot" &&
|
|
git rev-parse --verify HEAD >../expect
|
|
) &&
|
|
mkdir home &&
|
|
(
|
|
cd home &&
|
|
GIT_WORK_TREE="$(pwd)" &&
|
|
GIT_DIR="$(pwd)/.dotfiles" &&
|
|
export GIT_WORK_TREE GIT_DIR &&
|
|
git clone --bare ../remote .dotfiles &&
|
|
git submodule add ../bundle1 .vim/bundle/sogood &&
|
|
test_commit "sogood" &&
|
|
(
|
|
unset GIT_WORK_TREE GIT_DIR &&
|
|
cd .vim/bundle/sogood &&
|
|
git rev-parse --verify HEAD >actual &&
|
|
test_cmp ../../../../expect actual
|
|
) &&
|
|
git push origin master
|
|
) &&
|
|
mkdir home2 &&
|
|
(
|
|
cd home2 &&
|
|
git clone --bare ../remote .dotfiles &&
|
|
GIT_WORK_TREE="$(pwd)" &&
|
|
GIT_DIR="$(pwd)/.dotfiles" &&
|
|
export GIT_WORK_TREE GIT_DIR &&
|
|
git checkout master &&
|
|
git submodule update --init &&
|
|
(
|
|
unset GIT_WORK_TREE GIT_DIR &&
|
|
cd .vim/bundle/sogood &&
|
|
git rev-parse --verify HEAD >actual &&
|
|
test_cmp ../../../../expect actual
|
|
)
|
|
)
|
|
'
|
|
|
|
test_expect_success 'submodule on detached working pointed by core.worktree' '
|
|
mkdir home3 &&
|
|
(
|
|
cd home3 &&
|
|
GIT_DIR="$(pwd)/.dotfiles" &&
|
|
export GIT_DIR &&
|
|
git clone --bare ../remote "$GIT_DIR" &&
|
|
git config core.bare false &&
|
|
git config core.worktree .. &&
|
|
git checkout master &&
|
|
git submodule add ../bundle1 .vim/bundle/dupe &&
|
|
test_commit "dupe" &&
|
|
git push origin master
|
|
) &&
|
|
(
|
|
cd home &&
|
|
GIT_DIR="$(pwd)/.dotfiles" &&
|
|
export GIT_DIR &&
|
|
git config core.bare false &&
|
|
git config core.worktree .. &&
|
|
git pull &&
|
|
git submodule update --init &&
|
|
test -f .vim/bundle/dupe/shoot.t
|
|
)
|
|
'
|
|
|
|
test_done
|