Staging
v0.5.1
v0.5.1
https://github.com/git/git
Revision 297ca895a27a6bbdb7906371d533f72a12ad25b2 authored by Junio C Hamano on 20 January 2022, 23:25:38 UTC, committed by Junio C Hamano on 20 January 2022, 23:25:38 UTC
"git branch -h" incorrectly said "--track[=direct|inherit]", implying that "--trackinherit" is a valid option, which has been corrected. source: <3de40324bea6a1dd9bca2654721471e3809e87d8.1642538935.git.steadmon@google.com> source: <c3c26192-aee9-185a-e559-b8735139e49c@web.de> * js/branch-track-inherit: branch,checkout: fix --track documentation
Tip revision: 297ca895a27a6bbdb7906371d533f72a12ad25b2 authored by Junio C Hamano on 20 January 2022, 23:25:38 UTC
Merge branch 'js/branch-track-inherit'
Merge branch 'js/branch-track-inherit'
Tip revision: 297ca89
t2404-worktree-config.sh
#!/bin/sh
test_description="config file in multi worktree"
TEST_PASSES_SANITIZE_LEAK=true
. ./test-lib.sh
test_expect_success 'setup' '
test_commit start
'
test_expect_success 'config --worktree in single worktree' '
git config --worktree foo.bar true &&
test_cmp_config true foo.bar
'
test_expect_success 'add worktrees' '
git worktree add wt1 &&
git worktree add wt2
'
test_expect_success 'config --worktree without extension' '
test_must_fail git config --worktree foo.bar false
'
test_expect_success 'enable worktreeConfig extension' '
git config core.repositoryformatversion 1 &&
git config extensions.worktreeConfig true &&
test_cmp_config true extensions.worktreeConfig &&
test_cmp_config 1 core.repositoryformatversion
'
test_expect_success 'config is shared as before' '
git config this.is shared &&
test_cmp_config shared this.is &&
test_cmp_config -C wt1 shared this.is &&
test_cmp_config -C wt2 shared this.is
'
test_expect_success 'config is shared (set from another worktree)' '
git -C wt1 config that.is also-shared &&
test_cmp_config also-shared that.is &&
test_cmp_config -C wt1 also-shared that.is &&
test_cmp_config -C wt2 also-shared that.is
'
test_expect_success 'config private to main worktree' '
git config --worktree this.is for-main &&
test_cmp_config for-main this.is &&
test_cmp_config -C wt1 shared this.is &&
test_cmp_config -C wt2 shared this.is
'
test_expect_success 'config private to linked worktree' '
git -C wt1 config --worktree this.is for-wt1 &&
test_cmp_config for-main this.is &&
test_cmp_config -C wt1 for-wt1 this.is &&
test_cmp_config -C wt2 shared this.is
'
test_expect_success 'core.bare no longer for main only' '
test_config core.bare true &&
test "$(git rev-parse --is-bare-repository)" = true &&
test "$(git -C wt1 rev-parse --is-bare-repository)" = true &&
test "$(git -C wt2 rev-parse --is-bare-repository)" = true
'
test_expect_success 'per-worktree core.bare is picked up' '
git -C wt1 config --worktree core.bare true &&
test "$(git rev-parse --is-bare-repository)" = false &&
test "$(git -C wt1 rev-parse --is-bare-repository)" = true &&
test "$(git -C wt2 rev-parse --is-bare-repository)" = false
'
test_expect_success 'config.worktree no longer read without extension' '
git config --unset extensions.worktreeConfig &&
test_cmp_config shared this.is &&
test_cmp_config -C wt1 shared this.is &&
test_cmp_config -C wt2 shared this.is
'
test_done
Computing file changes ...